仅在使用IE11
时才会发生这种情况<script>
function validate_form1(){
}
function validate_form2(){
}
</script>
<form action=some-target onsubmit="return validate_form1()"></form>
<form action=some-other-target onsubmit="return validate_form2()"></form>
当validate_form1()返回true时,执行继续执行validate_form2() 为什么呢?
答案 0 :(得分:0)
看起来像IE11中的错误(除非在兼容模式下)。
以下解决方法对我有用,使用提交按钮的onclick事件设置javascript变量,然后在验证函数中检查其值。
<script>
var pushed;
function validate_form1(){
if (pushed == 'one') {
...
}
}
function validate_form2(){
if (pushed == 'two') {
...
}
}
</script>
<form action=some-target onsubmit="return validate_form1()">
<input onclick="pushed='one';" type="submit" name="But1" value="Submit form1">
</form>
<form action=some-other-target onsubmit="return validate_form2()">
<input onclick="pushed='two';" type="submit" name="But2" value="Submit form2">
</form>