从网上看到的所有内容来看,似乎以下代码应该执行以下操作(这是我的期望):
如果电子邮件(“帮助”)与正则表达式不匹配,则显示警报消息并返回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">
我遇到的问题是,当单击“提交”按钮时,将弹出警报消息,但随后在浏览器中加载了select.php。我希望脚本(如果触发了错误条件)能够保留在页面上,直到两个条件都通过为止。
最佳答案
您需要将onSubmit更改为onSubmit="return validate();"
。这样,当它返回false时,就不会提交表单。现在,它只调用validate()函数,并继续提交表单