gpt4 book ai didi

Javascript 返回 false 在 ie 中不起作用

转载 作者:行者123 更新时间:2023-11-30 09:05:41 25 4
gpt4 key购买 nike

大家好

我的 JSP 中有以下几行。

<s:submit name="submit"  onclick="return validateUser();" action="saveUser"  theme="simple" value="Save" />

java 脚本方法 validateUser() 验证用户并返回 true 或 false。验证失败时不应提交表单。

这在 FF 中有效,但在 IE8 中无效。

即使验证失败,IE8 也会提交表单。

最佳答案

永远不要假设您可以取消提交按钮,而是在表单上设置一些 javascript 变量或隐藏字段并使用 onsubmit。请相信我的话。让 onsubmit 查看由不同提交按钮设置的变量

切勿使用 javascript:(javascript 冒号),除非您在 IE 中并将 VBScript 作为页面上的第一个脚本。在所有其他情况下,javascript 是默认的。

切勿使用 <a href="javascript:something()" 等暴行而不是 <a href="#" onclick="return something()

最后,在 IE 中,当出现错误时,默认操作是提交表单。您很可能在其他地方完全有其他错误,并让验证返回错误,这被视为 true(0 评估为 false,most anything else is true)

<script type="text/javascript">
var isvalidateNeeded = true;
function validate(theForm) {
if (!isvalidateNeeded) return true; // allow submission
. // normal validation
.
.
return true; // allow submission
}
</script>
<form onsubmit="return validate(this)">
.
.
.
<input type="submit" name="subaction" value="Test" onclick="isvalidateNeeded=false" />
<input type="submit" name="subaction" value="Check" onclick="isvalidateNeeded=false" />
<input type="submit" name="subaction" value="Submit" onclick="isvalidateNeeded=true" />
</form>

关于Javascript 返回 false 在 ie 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5229313/

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