gpt4 book ai didi

Javascript:尝试在 IE 中使用圆括号而不是方括号访问表单属性

转载 作者:行者123 更新时间:2023-12-02 18:55:51 24 4
gpt4 key购买 nike

我希望我能正确解释这一点......

以下网页包含带有 onSubmit 处理程序的表单。 onSubmit 处理程序是一个始终返回 false 的函数,这意味着永远不应该提交表单。但这仅适用于 IE8(也可能适用于其他版本的 IE)。

要使其在 Firefox 和 Chrome 中正常工作,我必须将警报更改为:

alert(foo["firstName"].value);

我明白为什么使用方括号是正确的形式,因为该形式是关联数组。

  • 但是为什么在 FF 和 Chrome 中提交表单(因为 form("firstName") 显然是错误的)?
  • 我能捕捉到错误吗? (我在 Firebug 中看不到任何明显的东西。)
  • 是否有办法确保仅在返回 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>

最佳答案

表单已提交,因为其他浏览器抛出错误。该错误导致函数提前退出。结果,代码没有到达return false所以表单提交了。

关于Javascript:尝试在 IE 中使用圆括号而不是方括号访问表单属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15368574/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com