表单提交时如何在JS验证函数返回true后调用另一个函数
表单验证函数返回true时调用其他函数的正确写法
首先明确:你第一种写法是行不通的——函数执行到第一个return true;就会立刻终止,后面的return function2();永远不会被执行。
下面是两种正确的实现方式:
方式一:在验证函数内部调用目标函数
直接修改form_valid,在返回true前先执行function2:
form_valid: function() { if ( this.form_data.nombre && this.form_data.empresa && this.form_data.email && this.form_data.rubro && this.form_data.telefono && this.form_data.consulta_por && this.form_data.msg && this.form_data.rcapt_response ) { function2(); // 先调用function2 return true; } // 补充验证不通过时的返回值,避免函数返回undefined return false; }
注:原函数在验证失败时没有返回值,会默认返回undefined,补充return false能让逻辑更严谨。
方式二:外部判断返回值后调用
如果不想改动原验证函数的逻辑,可以在调用它的地方做判断:
if (this.form_valid() === true) { function2(); }
这种方式更灵活,适合不想把调用逻辑和验证逻辑耦合在一起的场景。
内容的提问来源于stack exchange,提问作者Axel Casguz
相关产品推荐
相关产品推荐

