我正在使用jQuery通过像这样的ajax发布表单:
$(document).on("submit",this.id, function (e) {
// Do stuff
})
通过这种方式,它获取表单的ID并使用ID处理来自不同页面上不同表单的数据的所有必要事项。
这可以在页面上以一个表单完成。当我有多个表单(具有唯一ID)时,它会失败,不再响应/触发。
我知道我可以自己输入表单的ID并在我的jQuery中使用多个$(document).on ...但我真的很喜欢我现在使用的方法。
有没有办法解决这个问题?
答案 0 :(得分: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;
})
使用$(this)
,您可以在事件处理程序中获得对提交表单的引用。然后,您可以根据需要使用它,而不是从头开始查找表单。