Javascript 未在单击“提交”按钮时完成验证

Javascript 未在单击“提交”按钮时完成验证,javascript,php,html,Javascript,Php,Html,函数ValidateEmail(){ var emailID=document.getElementById(“电子邮件”).value; var email=document.getElementById(“电子邮件”); var emailRegexp=/^[a-z]+\w+([\.-]?\w+*@[a-z]+\w+([\.-]?\w+)*(\.[a-z]{2,3})+$/i; 如果((emailID==null)| |(emailID==“”){ //提醒(“请输入您的电子邮件ID”);


函数ValidateEmail(){
var emailID=document.getElementById(“电子邮件”).value;
var email=document.getElementById(“电子邮件”);
var emailRegexp=/^[a-z]+\w+([\.-]?\w+*@[a-z]+\w+([\.-]?\w+)*(\.[a-z]{2,3})+$/i;
如果((emailID==null)| |(emailID==“”){
//提醒(“请输入您的电子邮件ID”);
email.style.borderColor=“红色”;
document.getElementById(“err”).innerHTML=“请输入您的电子邮件ID”;
emailID.focus();
返回false;
}
其他的
如果(!emailRegexp.test(emailID)){
//警报(“请输入有效的电子邮件ID”);
email.style.borderColor=“红色”;
document.getElementById(“err”).innerHTML=“请输入有效的电子邮件ID”;
emailID.focus();
返回false;
}
其他的
{
email.style.borderColor=“#e1e1e1”;
document.getElementById(“err”).innerHTML=“”;
返回true;
}
}
函数validUsername()
{
var误差=”;
var illegalChars=/\W//;//不允许使用特殊字符
var fd=document.getElementById(“名称”);
如果(fd.value==“”| | fd.value==null)
{
fd.style.borderColor='红色';
document.getElementById(“UserErr”).innerHTML=“字段留空。\n”;
返回false;
}
否则如果((fd.value.length<5)| |(fd.value.length>20))//检查输入的字符数
{
fd.style.borderColor='红色';
document.getElementById(“UserErr”).innerHTML=“Username is应该在5到15之间..\n”;
返回false;
}
else if(illegalChars.test(fd.value))//检查非法字符
{
fd.style.borderColor='红色';
document.getElementById(“UserErr”).innerHTML=“不允许使用非法字符\n”;
返回false;
} 
其他的
{
fd.style.borderColor='#e1e1';
document.getElementById(“UserErr”).innerHTML=“”;
返回true;
}
}
函数validPassword()
{
var误差=”;
var password=document.getElementById(“pass”);
var passError=document.getElementById(“passer”);
var illegalChars=/[\W_]/;//仅限数字和字母
var checkPass=/\w*[a-z]+\d+\w*/i;
if(password.value==“”| | password.value==null)
{
password.style.borderColor='Red';
passError.innerHTML=“字段不能为空。\n”;
返回false;
}
else if((password.value.length<8)| |(password.value.length>20))//检查密码的长度
{
password.style.borderColor='Red';
passError.innerHTML=“长度应在8到20之间。\n”;
返回false;
}
else if(非法字符测试(密码值))
{
password.style.borderColor='Red';
passError.innerHTML=“不允许使用非法字符。\n”;
返回false;
}
如果(!checkPass.test(password.value))//检查输入的密码中的数值,则为else
{
password.style.borderColor='Red';
passeror.innerHTML=“至少需要一个数值”;
返回false;
}
其他的
{
password.style.borderColor='#e1e1';
passeror.innerHTML=“”;
返回true;
}
}
函数validateOnSubmit()
{
if(ValidateEmail()&&validUsername()&&validPassword());
返回true;
返回false;
}

给我报名

提交
事件在表单上触发,而不是提交按钮。将
onsubmit
属性移动到
开始标记。

验证邮件()函数中的“emailID.focus();”错误。而不是 “email.focus();是正确的。 现在它像我预料的那样工作良好


但是没有必要这样做,所以我删除了它。

很抱歉,分号不在那里。删除分号后会出现相同的错误。。请查看此答案供参考:
。innerHTML
不支持
\n
@Sudip977请尝试我的答案,看看它是否适用于您。您是对的!关键字“return”的目标是什么“在网上?正如我所知,我们只需要将一个函数传递给属性,不?@Tata2-属性的值是一个函数体。返回值取消默认事件(或不取消,具体取决于它是什么)。
if(ValidateEmail()&&validUsername()&&validPassword())我已删除“return”关键字,但仍有相同的problem@Sudip977-删除return关键字肯定会使其停止工作。