Javascript 根据jqueryajax发布可变长度表单
我有一个表单,用户可以在其中添加任意数量的输入字段。 这些文件将被发送到一个.php文件,该文件将返回提交文件的结果。 这意味着我不能事先知道$u帖子的长度(我也不想知道) 到目前为止,我所发现的一切都与手动将字段输入ajax请求有关Javascript 根据jqueryajax发布可变长度表单,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,我有一个表单,用户可以在其中添加任意数量的输入字段。 这些文件将被发送到一个.php文件,该文件将返回提交文件的结果。 这意味着我不能事先知道$u帖子的长度(我也不想知道) 到目前为止,我所发现的一切都与手动将字段输入ajax请求有关 // Get some values from elements on the page: var $form = $( this ), term = $form.find( "input[name='s']" ).val(), url = $form.attr(
// Get some values from elements on the page:
var $form = $( this ),
term = $form.find( "input[name='s']" ).val(),
url = $form.attr( "action" );
(来自jQueryAPI)
但这只有在我知道会有多少领域的情况下才会起作用。
我只是希望所有的字段(无论添加了多少)都被发布
是否可以在所有字段中循环?
或者只发送普通的$\u帖子,就像在没有ajax的情况下发布一样?您想使用jQuery,或者取决于PHP对数据的期望
不同之处在于.serializeArray()创建JSON数组,而.serialize()创建标准的URL编码键/值对。如果您想通过AJAX发送,并且使用jquery
,serialize()将使其更容易。您可以将所有输入放入表单中,然后使用$(form).serialize()
作为数据
以下是.serialize()
var值={};
$.each($('#myForm').serializeArray(),函数(i,字段){
值[field.name]=field.value;
});代码>
通过这种方式,您的值数组将在表单“myForm”中包含所有字段。让您自己使用起来很简单。php脚本只是将其视为正常发布。谢谢