假设在 html 页面中有一个 id 为“serialform”的表单。
以下 JavaScript 按预期工作。
$( "#serialform" ).submit(function( event ) {
var action = $( "#serialform" ).attr("action");
var serial = $("#serial").val()
...
return event.preventDefault();
});
但是,如果我将函数的第一行替换为使用“this”:
$( "#serialform" ).submit(function( event ) {
var action = this.attr("action");
var serial = $("#serial").val()
...
return event.preventDefault();
});
然后表单提交而不是简单地返回 action 属性。 this
引用表单元素(根据 firebug)。
我原以为 this
等同于 $( "#serialform")
。无论如何,我想获取正在提交的表单的 action 属性。
我正在使用 jQuery 2.0.3。
最佳答案
this
是对 DOM 节点的引用,而不是包装的 jQuery 节点。此 DOM 节点未实现 .attr
方法,因此会引发错误。
在调用 jQuery 方法之前,您需要将 DOM 节点包装在 jQuery 对象中,如下所示:$(this).attr('action')
。
关于javascript - jquery this.attr ("action") 提交表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20476114/