ajax通过jquery提交多个表单
所以假设我有3种forms
每个表单都有自己的提交按钮
现在假设我有另一种forms
其唯一的function是同时提交所有其他3个表格….现在这里是约束:
- 提交submitAll时,必须使用Ajax并将所有其他3个表单中的输入数据转发到processor.php,最好通过POST
- processor.php需要能够区分哪些输入到哪种forms……然后分别处理每个表单的输入
我的问题是……什么是使processor.php能够区分哪些输入属于哪种forms的最佳方法…..
我以前的尝试是使用jquery的序列化来序列化所有3个表单的输入,但是它会将所有输入合并为一个字符串并注意到由于表单中的输入具有相同的名称,字符串就像“input = blah&input” = blah&input = blah“我无法区分哪个输入到哪种forms…..
最好使表单中的输入具有相同的名称,以便processor.php可以顺利执行
有没有让POST字符串作为数组或json或任何其他格式传递,以便processor.php可以区分哪个输入转到哪种forms而不使输入名称不同? 记住它需要通过Ajax这样做
提前致谢!!!
你为什么不使用像这样的命名约定
- NAME = “Form1中[输入]”
- NAME = “窗体2 [输入]”
- NAME = “Form3 [输入]”
然后定期执行serialize和$ .post,这将帮助您在处理器循环中保持相同的命名约定
编辑:
'i am here') processForm($form); // names are still the same for all forms } ?>
你不想使用数组吗? 输入将按照序列化的顺序排列。
JavaScript的:
$(document.ready(function(){ $("a.submitforms").click(function(){ $('form.postable').each(function(){ Form = $(this); payload = $(Form).serialize(); //Send payload via Ajax. }); }); }));
这只是一种替代方法,但我同意Ish Kumar的方法!