php - 选项卡菜单中的表单碎片 : Best Approach

标签 php mysql tabs

我必须准备一个包含很多字段(大约 100 个)的表单。我可以使用一个大的 HTML\PHP 文件,但为了提高可访问性和轻松访问字段,我宁愿使用选项卡菜单。原始表格(称为临床评估)在逻辑上可以分为 3 个子表格:病史、体检和评估。现在,我已经准备好 3 个选项卡,但我不确定此处使用的最佳方法是什么:

a) 创建 3 个 PHP 文件(history.php、physical.php 和assessment.php),将每个文件放在不同的选项卡上,并为每个选项卡设置一个提交按钮。这也会带来 MySQL 查询的碎片:当用户完成历史记录时,她将点击“完成历史记录”按钮,并且相关查询(对应于 clin_evaluation 表中的“历史记录”字段)将启动。当然,其余 2 个选项卡也是如此

b) 仍然创建 3 个 PHP 文件,但仅在末尾(第三个选项卡)插入提交按钮,以便在插入所有数据后仅发送一个查询...

你会做什么?我倾向于使用第一个选项,但非常感谢对此的任何建议!

迭戈

最佳答案

当我有一个包含大量表单的应用程序时,我使用我构建的一个名为 form_display() 的函数。它需要一个像这样的数组:

$form = array(
    array(
        "type"  => "text",
        "label" => "Field Label",
        "name"  => "field_name",
        "class" => "optional-classes",
        "value" => "Field Value"
    ),
    ...
);

然后循环遍历该数组并输出必要的 HTML。它使我不必一遍又一遍地编写相同的 HTML。此外,如果我更改应用程序中表单的 HTML 结构,我可以在一处进行操作。

form_display() 返回给定上述数组类型的表单的 HTML。如果我需要有多个选项卡,我可以将多个 form_display() 调用的输出传递给 `form_wrapper(),这会创建创建选项卡式界面所需的 HTML 和 JS。

因此,在您的情况下,您的表单分为三个部分,您将拥有三个数组,您将传递给 form_display(),然后将其结果传递给 form_wrapper(),其结果是构成选项卡式界面表单的所有 HTML 和 JS。此外,您可以将保存按钮的 HTML 对象传递给 form_wrapper()。这样,“保存”按钮就可以位于选项卡式界面之外(并且可以从表单中的任何位置访问,而不仅仅是一个特定的选项卡)。

我提供了一些示例代码 here ,其中包括上述函数,以及我的一个项目中演示如何使用它们的一些片段。主要函数 form_display() 有大量注释。

关于php - 选项卡菜单中的表单碎片 : Best Approach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21814723/

相关文章:

php - 将目标_blank 添加到外部链接 - Parsedown PHP

javascript - php - 从数据库检索值时如果不为空则启用元素

jquery - 如何使 Bootstrap 网格在选项卡 Pane 中按预期工作?

MySQL/Mariadb - 从存储过程中选择 *

Android - 需要有关 SDK 20 中的 Tabs+Swipe 模板的帮助

javascript - 如何从另一个页面链接到特定的 javascript 选项卡?

php - 通过检查数据库中的密码并移至 codeigniter 中的下一页

php - mysql 每 n 秒查询一次并通过 jquery/javascript 将值应用于类名

mysql - 按 WHERE LIKE 返回结果排序

mysql - mysql 如何处理两个相等的索引?