Javascript表单验证提交错误

时间:2012-11-28 00:01:39

标签: javascript forms validation

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

  • 如果电子邮件(“援助”)与正则表达式不匹配,则显示警告消息并返回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。我希望脚本(如果触发错误条件)保留在页面上,直到两个条件都通过。

1 个答案:

答案 0 :(得分:4)

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