我有一个表单,其验证函数一行会引发未捕获的异常,但浏览器不会停止执行,而是提交表单
function validation(){
var value = document.forms["myform"]['badInput'].value;//this line throws an exception
return false;
}
<form name='myform' action ="" onsubmit="return validation()" method="POST">
<input name='myInput' value="testing" type="text"/>
<input value="submit" type="submit"/>
</form >
上面提供的代码是一个简单的示例,但我可能正在进行一些可能产生异常的计算或转换。处理此问题的一种方法是将其包含在 try catch
function validation(){
var ret =true;
try{
var value = document.forms["myform"]['badInput'].value;
......//some condition to make ret=false
} catch(e){
ret = false
}
return ret;
}
但我正在寻找更好的方法来做到这一点?我认为浏览器应该默认处理这个问题,如果 onsubmit 函数抛出异常,规范中是否有提到浏览器应该如何表现?
</p>