Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.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
Javascript 根据jqueryajax发布可变长度表单_Javascript_Php_Jquery_Ajax_Forms - Fatal编程技术网

Javascript 根据jqueryajax发布可变长度表单

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(

我有一个表单,用户可以在其中添加任意数量的输入字段。 这些文件将被发送到一个.php文件,该文件将返回提交文件的结果。 这意味着我不能事先知道$u帖子的长度(我也不想知道)

到目前为止,我所发现的一切都与手动将字段输入ajax请求有关

// 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脚本只是将其视为正常发布。谢谢