捕获多个Ajax响应

时间:2013-06-20 07:45:03

标签: jsp jquery ajaxform

我提交了多个动态生成的表单,如何捕获响应?我将使用表单id:

来捕获单个表单提交的响应
// ajax response  
$("#formID").ajaxForm({
  dataType: 'json',
  success: function(response) {
    alert("Success");
  }
});

我的HTML代码是:

<form action="someAction.htm" id="formID" method="post">
  <input type ="text"/>
</form>

工作正常。现在我想对动态生成的表单做同样的事情。像这样:

<% for(int i=0;I,5;i++) %>
<form action="someAction.htm" id="formID" method="post">

在生成的HTML中,我可以看到所有表单标签都已经生成并且请求正在进行但我不知道如何捕获响应。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

为什么不这样做:

// ajax response  
$("#formID_0").ajaxForm({
  dataType: 'json',
  success: function(response) {
    alert("Success 0");
  }
});

$("#formID_1").ajaxForm({
  dataType: 'json',
  success: function(response) {
    alert("Success 1");
  }
});

捕获这些表格

<% for(int i=0 ; i<2 ; i++) { %>
<form action="someAction.htm" id="formID_<%=i%>" method="post">
</form>
<% } %>

但是,如果您只想拥有一个功能来捕获所有请求,那么您将拥有一个不同的选择器。要查看潜在的选择器,请查看this

答案 1 :(得分:0)

您需要唯一的表单ID,这是肯定的。这部分来自@fGo。

<% for(int i=0 ; i<2 ; i++) { %>
<form action="someAction.htm" id="formID_<%=i%>" method="post" class="myform">
</form>
<% } %>

在document.ready上:

$(".myform").ajaxForm({
 dataType: 'json',
 success: function(response) {
 alert("Success");
}
});