JavaScript异常后的HTML事件行为

时间:2017-08-03 01:49:12

标签: javascript html forms events

我正在老式网站上工作,为表单添加验证(<form onsubmit="return validate_me();">)。但是,当我测试它时,抛出了一个JavaScript异常,事件继续并改变了我的测试数据。如果在生产现场发生这种情况,很多数据可能会被意外删除。

抛出异常时事件是否继续畅通无阻是正确的行为吗?我会假设需要返回一个显式的true才能继续该事件。有没有办法在未处理的异常后不继续事件?

1 个答案:

答案 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;
    }
}