Javascript 表单验证提交错误

标签 javascript forms validation

从我在网上看到的所有内容来看,以下代码似乎应该执行以下操作(这是我的期望):

  • 如果电子邮件(“aid”)与正则表达式不匹配,则显示警告消息并返回 false
  • 如果密码(“pass”)为空,显示提示信息并返回false
  • 如果两个条件都通过验证,则提交表单

Javascript如下:

function validate() {
var email = document.getElementById('aid').value;
var pass = document.getElementById('apw').value;        
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;  
if (!emailPattern.test(email)) {
    alert("Not a valid email address");
    return false;
}
if (pass == null || pass == "") {
    alert("Password is blank");
    return false;   
}
return true;
}

标签的开头如下:

<form action="choose.php" onsubmit="validate();" method="post">

我遇到的问题是,当单击提交按钮时,将弹出警告消息,但随后在浏览器中加载了 choose.php。如果错误条件被触发,我希望脚本保留在页面上,直到两个条件都通过。

最佳答案

您需要将 onSubmit 更改为 onSubmit="return validate();"。这样当它返回 false 时,表单不会被提交。现在它只是调用 validate() 函数并继续提交表单

关于Javascript 表单验证提交错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13595460/

相关文章:

javascript - PhoneGap : Device Plugin Not Working

javascript - 如何防止用户在html中提交虚假的datalist值?

javascript - 无法从选定的 jquery 中追加和更新选项

php - Firefox 中的表单动态被破坏

javascript - 在 React 中迭代表单元素数组

html - 输入表单填充在 IE 中不起作用

validation - HTML rel 标签

ruby-on-rails - 目录 : How do I validate my pages when sometimes I have CSS links not in the HEAD?

javascript - 输入类型 ='file' 接受 pdf 和 excel 文件扩展名

javascript - Mongoose 更改架构字段类型