我正在老式网站上工作,为表单添加验证(<form onsubmit="return validate_me();">
)。但是,当我测试它时,抛出了一个JavaScript异常,事件继续并改变了我的测试数据。如果在生产现场发生这种情况,很多数据可能会被意外删除。
抛出异常时事件是否继续畅通无阻是正确的行为吗?我会假设需要返回一个显式的true
才能继续该事件。有没有办法在未处理的异常后不继续事件?
答案 0 :(得分:1)
除非false
函数返回明确的validate_me()
,否则表单将提交。
将整个validate_me
函数包含在try
catch
块中,如果此过程中出现任何JavaScript错误,则返回false
function validate_me(){
try{
//do some stuff
} catch(err){
console.log(err);
return false;
}
}