5

我有一个表格。此表单通过 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)

});

提前致谢!

4

2 回答 2

7

不要使用 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/
在表单中输入内容并提交。

于 2011-06-15T19:27:26.123 回答
1

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

于 2011-06-15T19:30:25.497 回答