javascript - 如何进行良好的验证?
问题描述
我有一些验证问题。即使验证为假,表单仍在发送。问题出在哪里?
function ValidateForm(form){
ErrorText= "";
if ( ( form.memory[0].checked == false ) && ( form.memory[1].checked == false ) && ( form.memory[2].checked == false ) ){
alert ( "Please choose size of RAM memory" );
return false;
}
if (ErrorText= "") { form.submit() }
return false;
}
<button type="submit" form="form" class="submit-button" onClick="ValidateForm(this.form)">Dodaj do koszyka</button>
解决方案
按钮的默认行为type="submit"
是提交表单,要停止这种行为,您需要返回 false。您的方法正在做什么,但您的onClick
处理程序忽略了
<button type="submit" form="form" class="submit-button" onClick="return ValidateForm(this.form)">Dodaj do koszyka</button>
------------------------------------------------------------------^^^^
此外,无需调用form.submit()
您的方法,如果您只是这样做,就会发生这种情况return true
。所以改变
if (ErrorText= "") { form.submit() }
至
if (ErrorText == "") { return true; }
注意:你错过了一个双==
不等于=
推荐阅读
- google-bigquery - BigQuery 中的不同总结果
- typescript - 在 Typescript 中使用和测试保镖模式
- php - 如何在 Magento 的元描述中附加 sku。?
- .net - 如何从 .NET Blazor 中的另一个 ChildComponent 访问 ChildComponent 中的函数
- django - 使用 SimpleJWT 登录时的 AnonymousUser
- c++ - BMP文件的8位读/写
- python - 如何查看django对象查询速度
- javascript - JavaScript 中的圆周运动未按预期工作
- json - Scala,Circe,Http4s - 有什么方法可以在 Circe 中编码 Throwable?
- angular - 如何为 PWA 新闻应用执行后台更新