我希望我能正确解释一下......
以下网页包含带有onSubmit处理程序的表单。 onSubmit处理程序是一个始终返回false
的函数,这意味着永远不应该提交表单。但这仅适用于IE8(可能还有其他版本的IE)。
要在Firefox和Chrome中使用此功能,我必须将警报更改为:
alert(foo["firstName"].value);
我理解为什么使用方括号是正确的形式,因为表单是一个关联数组。
form("firstName")
显然是错误的)?true
时提交表单?由于
<html>
<head>
<script>
function alwaysReturnFalse() {
alert(foo("firstName").value);
return false;
}
</script>
</head>
<body>
<form name="foo" onSubmit="return alwaysReturnFalse();">
First name: <input name="firstName" type="text" value="Bob"/><br/>
Last name: <input name="lastName" type="text"/><br/>
<input type="submit" value="Submit"/>
</form>
This form has an onSubmit handler that always returns false - meaning the form should never submit.<br/>
It works in IE8 - e.g. the onSubmit handler executes an alert() and then returns false.<br/>
It fails in Firefox and Chrome - e.g. the form is submitted.
</body>
</html>
答案 0 :(得分:2)
表单已提交,因为其他浏览器会抛出错误。该错误导致该函数提前退出。结果,代码没有达到返回false,因此表单提交。