jQuery拦截表单提交到param字符串

jQuery intercept form submission to param string

本文关键字:param 字符串 表单提交 jQuery      更新时间:2023-09-26

我有一个表单。这个表单通过POST提交到iframe,然后iframe处理请求,并根据结果执行javascript,根据提交的有效性更改父级的内容。

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

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

$('#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
});

以下是一个示例:http://jsfiddle.net/maniator/Y6r8E/
在表单中键入内容并提交。

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