Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 jQuery截取表单提交到参数字符串_Javascript_Jquery_Post_Submission_Intercept - Fatal编程技术网

Javascript jQuery截取表单提交到参数字符串

Javascript jQuery截取表单提交到参数字符串,javascript,jquery,post,submission,intercept,Javascript,Jquery,Post,Submission,Intercept,我有一张表格。此表单通过POST提交到iframe,iframe依次处理请求,并根据结果执行javascript,根据提交的有效性更改父级内容 现在,我不喜欢这个程序。我希望能够同时提交多个表单,但我只有一个隐藏的iframe。所以我想使用AJAX,为每个表单提交创建一个单独的请求 然而,我的形式是复杂的;它由复选框组成,这些复选框向数组中添加变量、单击的图像以及我需要发送的单击坐标,以及类似的复杂内容——这就是为什么我没有计算每个输入的值并将其添加到post参数字符串中(顺便说一句:我不知道如

我有一张表格。此表单通过POST提交到iframe,iframe依次处理请求,并根据结果执行javascript,根据提交的有效性更改父级内容

现在,我不喜欢这个程序。我希望能够同时提交多个表单,但我只有一个隐藏的iframe。所以我想使用AJAX,为每个表单提交创建一个单独的请求

然而,我的形式是复杂的;它由复选框组成,这些复选框向数组中添加变量、单击的图像以及我需要发送的单击坐标,以及类似的复杂内容——这就是为什么我没有计算每个输入的值并将其添加到post参数字符串中(顺便说一句:我不知道如何以这种方式创建数组),我更希望截取提交内容,将其保存为包含所有这些参数的post字符串,然后将该字符串用于AJAX post请求

我想在这个函数中执行以下操作:

$('#myForm').submit(function(event){

    // process the submission, e. g. event.getContent().toPostString();

    // create the AJAX request and send it and attach listeners (I know how to do this line ;)

    return false; // I don't want the form submitted (to the iframe)

});

提前谢谢

不要使用iframe,只需使用:(我在下面的示例中使用)

下面是一个例子:

在表单中键入一些内容并提交。

jQuery的函数将为您收集表单数据,以便通过.ajax()或.post()轻松提交表单。

Perfect!太神了哇,正是我需要的!除了一件事,我只是注意到了。如果使用图像作为提交按钮,则既不要单击位置(这不会太糟糕),也不要传递已单击的图像(如果使用多个图像作为潜在提交按钮)。@arik是否在表单中?表单中的任何内容都将通过。只需输出
$(this).serialize()
到checkWell,它的格式是,或者至少应该是。但是,如前所述,它没有通过:((我检查了,它也没有在表单的序列化中)。但没关系,我只是认为它值得一提;)@arik——好的。通过在序列化之后附加
+'¶m=somevalue¶m2=somevalue'
,您始终可以添加更多参数
$('#myForm').submit(function(event){

             //url          //post data
    $.post(this.action, $(this).serialize(), function(returnData){
           //do something with returnData
    })

    return false; //do not submit form the normal way

});