IE11在一个页面上onsubmit和两个表单的奇怪行为

Strange behaviour of IE11 with onsubmit and two forms on a page

本文关键字:表单 两个 一个 onsubmit IE11      更新时间:2023-09-26

这只发生在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()为什么?

看起来像是IE11的一个bug(除非在兼容模式下)

下面的方法对我来说很有效,使用提交按钮的onclick事件来设置一个javascript变量,然后在validate函数中检查它的值。

<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>