假设我为表单创建了以下处理程序(回调):
$('form').submit(function (event) {
event.preventDefault();
alert('form submitted');
});
为什么调用$('form').get(0).submit
不调用提交处理程序?表格直接提交。
答案 0 :(得分:1)
.get(0)
返回本机js DOM元素(与$('form')[0]
相同),然后你触发了
直接提交活动。
如果您尝试使用.eq(0)
获取第一个Element并使用.submit()
触发提交jQuery样式。
<强>摘要强>:
$('selector')[0]
〜返回本机js DOM元素.get(0)
〜与[0]相同。.eq(0)
〜将第一个元素作为jQuery对象返回。更多强>:
$('form.selector').submit(function (e) { });
$('form.selector').submit();
或$('form.selector').trigger('submit');
$('form').eq(0).submit();
演示:jsFiddle
我希望你需要它。
演示jQuery :
$('form').submit(function (event) {
event.preventDefault(); // Will prevent the native handler from firing.
alert('form submitted :' + $(this).attr("id"));
});
//change the `.eq(index)` to 1 to trigger the submit on the second form:
$('form').eq(0).submit(); // Same as: $('form').eq(0).trigger("submit");
演示HTML :
<form id="form1"></form>
<form id="form2"></form>