有关我正在谈论的工作示例,请参阅http://jsfiddle.net/8KNc7/5/ (现在在 Firefox 15 中进行测试,尚未尝试其他方法)。
我有一个带有submit
输入和button
输入的表单,它们都将表单数据提交到服务器,但只有submit
输入会导致 jQuery 提交事件运行。为什么是这样?
形式:
<form action='/echo/html/' method='post' id='Form' name='Form'>
<input type='hidden' value='posted' id='html' name='html'>
<input type='submit' id='submit1' value='submit type'>
<input type='button' id='submit2' value='button type' onclick='submitForm();'>
</form>
Javascript(在 body 标签的末尾运行):
var theForm = document.forms['Form'];
if (!theForm) {
theForm = document.Form;
}
function submitForm() {
theForm.submit();
}
$(function () {
$('form').submit(function () {
alert('ok');
});
});
重点是,我希望两个按钮都会引起警报,但只有一个会引起警报。我知道我可以提交更改submitForm
功能以使其正常工作,但我试图弄清楚为什么其中一个有效而另一个无效的区别是什么。