【发布时间】:2011-05-05 19:01:19
【问题描述】:
由于某种原因,这两种情况下的提交事件不同。请帮助理解为什么。这是一个带有提交和按钮的表单。单击提交并触发警报,单击按钮并不会触发警报。表单元素有什么不同?如何使两者工作相同?顺便说一句:我正在 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>
【问题讨论】:
-
首先,您的 HTML 存在许多问题。所有表单元素都应该有一个名称,并且页面上不应有 2 个具有相同 ID 的元素。
-
另外,你所有的属性都应该被引用。
type="button"和type="submit".
标签: jquery ajax dom cross-browser jquery-events