IE 11中的表单onsubmit功能有问题。 触发提交按钮后,将调用" doSomething()" -function。在" doSomething()"函数我调用另一个执行输入验证的函数。此函数始终返回false,但如果所有验证错误都消失,则将标志设置为true。如果该标志设置为true,则" doSomething()" -function返回true,并且将提交表单并调用该操作。此模式适用于Firefox,Chrome和Safari,但不适用于IE11。在IE中,它在" doSomeValidation()" -Function准备好之前调用操作。 : - /有人可以帮帮我吗?非常感谢!!!
<form action="headToNextPage.php" onsubmit="return doSomething()">
JS
flag = false, // a global flag inside the js-script
function doSomeValidation(){
// validate the inputs and set "flag" to true if all errors are gone
}
function doSomething(){
doSomeValidation(); // do the validation stuff
if(flag==true) {
// do some other stuff
return true
}
return false;
}
答案 0 :(得分:0)
将false之后的逗号替换为半冒号并在dosomething方法中添加一些警告,它确实在IE11中工作
flag = false;
答案 1 :(得分:0)
我解决了。问题是,我在jQuery $(document).ready(..) - function中的一个字符串上调用了JS .startsWith(..) - 函数。 Chrome,Firefox和Safari都忽略了它,但IE发疯了但没有显示任何错误。我取代了.indexOf(..) - 函数,它起作用了。感谢所有帮助我的人!