出于某种原因,提交事件在这两种情况下是不同的。请帮忙理解原因。这是一个带有提交和按钮的表单。单击提交并发出警报,单击按钮并触发警报。表单元素有什么不同?我怎样才能使两者相同?顺便说一句:我在Chrome上测试。这需要适用于支持myform.submit();
的所有浏览器 <FORM id="myform" action="saveform.asp" method="post">
<input type="hidden" name="my_val" value="" />
<INPUT id="button" value="Save Button" class="save-submit" type=button >
<INPUT id="button" value="Save Submit" class="save-submit-hidden" type=submit>
</FORM>
<script language=javascript>
$("form").submit(function() {
alert('submitting');
return false;
});
$('.save-submit').click(function() {
myform.submit();
});
</script>
答案 0 :(得分:1)
myform.submit();
应该是
$(myform).submit();
并且它对我有用。
编辑:
这似乎是jQuery中的一个错误:jQuery override form submit not working when submit called by javascript on a element
答案 1 :(得分:1)
只需删除所有的JavaScript。单击表单上的type = submit输入会导致提交,不需要javascript。除非您每次提交表单时都需要运行一些javascript(无论如何提交),在这种情况下使用您的$(“表单”)。submit function并删除$('。save-submit')。点击功能。