我正在使用jQuery通过ajax发布表单,如下所示:
$(document).on("submit",this.id, function (e) {
// Do stuff
})
Run Code Online (Sandbox Code Playgroud)
这样,它获取表单的ID并使用ID来处理来自不同页面上不同表单的数据的所有必要事物.
这在页面上以一个表单完成.当我有多个表单(具有唯一ID)时,它会失败,不再响应/触发.
我知道我可以自己输入表单的ID并在我的jQuery中使用多个$(document).on ...但我真的很喜欢我现在使用的方法.
有办法解决这个问题吗?
Sha*_*ard 10
您不需要传递或使用ID,您可能有范围问题.
使用这样的代码更灵活:
$(document).on("submit", "form", function (e) {
var oForm = $(this);
var formId = oForm.attr("id");
var firstValue = oForm.find("input").first().val();
alert("Form '" + formId + " is being submitted, value of first input is: " + firstValue);
// Do stuff
return false;
})
Run Code Online (Sandbox Code Playgroud)
使用$(this)您在事件处理程序内获取对提交表单的引用.然后,您可以根据需要使用它,而不是从头开始查找表单.