应该jQuery的$(form).submit();不是在表单标签中触发onSubmit?

前端之家收集整理的这篇文章主要介绍了应该jQuery的$(form).submit();不是在表单标签中触发onSubmit?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下:
<script type="text/javascript">
function CancelFormButton(button) {
    $(button.form).submit();
}
</script>

<form onsubmit="alert('here');">
<input type="button" value="Cancel" onClick="CancelFormButton(this);" />
</form>

当我单击“取消”按钮时,不会触发来自表单标记的onsubmit。

这行代替提交表单成功:$(button.form).submit();但跳过警报(‘here’);在onsubmit中的形式标签

这是正确的,还是我做错了什么?

顺便说一下,在这种情况下,我想要这个功能,但我只是想知道,如果我将遇到一个问题,在浏览器的onsubmit触发。

解决方法

对不起,误解了你的问题。

根据Javascript – capturing onsubmit when calling form.submit()

I was recently asked: “Why doesn’t the
form.onsubmit event get fired when I
submit my form using javascript?”

The answer: Current browsers do not
adhere to this part of the html
specification. The event only fires
when it is activated by a user – and
does not fire when activated by
code.

(强调添加)。

注意:“由用户激活”还包括点击提交按钮(可能包括从输入键的默认提交行为,但我没有尝试过)。我相信,如果你(用代码)点击提交按钮,它会触发。

猜你在找的jQuery相关文章