Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将多个表单作为一个表单提交_Php_Javascript_Jquery_Forms - Fatal编程技术网

Php 将多个表单作为一个表单提交

Php 将多个表单作为一个表单提交,php,javascript,jquery,forms,Php,Javascript,Jquery,Forms,我有两张表格在这页上。对用户来说,它看起来像一个表单,我真希望它是一个表单。但是我试图重用代码并包含一些东西,我无法避免源代码中的两种形式。。。努力扮演一个角色 我不想做ajax提交,我想要一个普通的post提交,我的表单处理程序中有重定向。如何提交这两个文件,并在服务器端获取有意义的值。类似于$\u POST['form1]['whatever']$\u POST['form2]['thing'] 也许从表单2中获取所有输入,用前缀重命名所有输入,然后将它们附加到表单1中?我找不到一个不乱的方

我有两张表格在这页上。对用户来说,它看起来像一个表单,我真希望它是一个表单。但是我试图重用代码并包含一些东西,我无法避免源代码中的两种形式。。。努力扮演一个角色

我不想做ajax提交,我想要一个普通的post提交,我的表单处理程序中有重定向。如何提交这两个文件,并在服务器端获取有意义的值。类似于$\u POST['form1]['whatever']$\u POST['form2]['thing']

也许从表单2中获取所有输入,用前缀重命名所有输入,然后将它们附加到表单1中?我找不到一个不乱的方法来做这件事。我想我不需要代码,只需要一个计划。最不混乱的想法获胜

也许把表格2中的所有输入都重命名为 前缀,并将其附加到表格1中

这正是你必须做的。如果没有一个代码示例,这将是一个不太好的答案,所以给你

$("#form2 :input").appendTo("#form1")[0].submit()
现在在php中,您将有一个包含两个值的数组的$_POST['thing']。或者,您可以重命名form2中的所有输入:

$("#form2 :input").attr("name",function(name){
    return name + "_form2";
}).appendTo("#form1")[0].submit();
也许把表格2中的所有输入都重命名为 前缀,并将其附加到表格1中

这正是你必须做的。如果没有一个代码示例,这将是一个不太好的答案,所以给你

$("#form2 :input").appendTo("#form1")[0].submit()
现在在php中,您将有一个包含两个值的数组的$_POST['thing']。或者,您可以重命名form2中的所有输入:

$("#form2 :input").attr("name",function(name){
    return name + "_form2";
}).appendTo("#form1")[0].submit();

您可以尝试使用jQuery.serializeArray收集一个表单的值,然后从存储以前调用的jQuery.serializeArray结果的变量中生成具有名称和值的隐藏输入,并在表单提交事件时将其插入到第二个表单。

您可以尝试使用jQuery.serializeArray收集一个表单的值,然后生成隐藏输入,其名称和值来自存储以前称为jQuery.serializeArray的结果的变量,并在表单的提交事件中将其插入到第二个表单。

您应该能够在PHP中将两个表单字段合并到一个表单中。如果您的代码不允许,那么它的状态一定很糟糕

如果您使用的是简单的脚本,那么您应该能够将表单切割为生成字段的部分,以及生成表单轮廓的其他部分,或者作为单独的脚本,或者仅仅作为单独的函数

i、 e:

然后,只需将form1和form2中的$params组合起来,即可得到最终形式

如果您使用的是OOP,那么很容易派生一个包含这两种表单的新类,并让它输出它们的字段

这是非常简单的建议,但您没有提供任何源代码来帮助重构,因此我只能提供模糊/通用代码示例


在客户端使用js方式组合表单会在维护和改进代码的过程中产生很多问题,并且会带来很多安全问题,不仅仅是这些问题。

您应该能够在PHP中将两个表单字段组合成一个表单。如果您的代码不允许,那么它的状态一定很糟糕

如果您使用的是简单的脚本,那么您应该能够将表单切割为生成字段的部分,以及生成表单轮廓的其他部分,或者作为单独的脚本,或者仅仅作为单独的函数

i、 e:

然后,只需将form1和form2中的$params组合起来,即可得到最终形式

如果您使用的是OOP,那么很容易派生一个包含这两种表单的新类,并让它输出它们的字段

这是非常简单的建议,但您没有提供任何源代码来帮助重构,因此我只能提供模糊/通用代码示例

以js的方式在客户端合并表单会在维护和发展代码的过程中产生很多问题,并且会带来很多安全问题,尤其是安全问题