<script language="javascript">
var validity = 1;
function isEmail(obj,td)//验证Email
{
var Email = document.getElementById('Email').value;
var pattern = /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
// Email 必须是 [email protected] 等格式 或者为空
if(!pattern.exec(Email))
{
document.getElementById(td).className="hui2";
document.getElementById(td).innerHTML=msgInfo[7];
validity = 2;
return false;
}
else
{
document.getElementById(td).className="hui1";
document.getElementById(td).innerHTML=msgInfo[5];
return true;
}
}function Check()
{
isEmail('obj','td');
if(validity > 1)
{
return false;
}
else
{
return true;
}
}
</script>
<form id="Form1" onsubmit="return Check();" action="Join.aspx" method="post" runat="server">
我想在Email验证失败后就不提交表单了,但是Email数据不符合要求的时候仍然会提交,可是第二次就不会提交表单了。这是怎么回事呀,请大家帮忙解决!谢谢!
var validity = 1;
function isEmail(obj,td)//验证Email
{
var Email = document.getElementById('Email').value;
var pattern = /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
// Email 必须是 [email protected] 等格式 或者为空
if(!pattern.exec(Email))
{
document.getElementById(td).className="hui2";
document.getElementById(td).innerHTML=msgInfo[7];
validity = 2;
return false;
}
else
{
document.getElementById(td).className="hui1";
document.getElementById(td).innerHTML=msgInfo[5];
return true;
}
}function Check()
{
isEmail('obj','td');
if(validity > 1)
{
return false;
}
else
{
return true;
}
}
</script>
<form id="Form1" onsubmit="return Check();" action="Join.aspx" method="post" runat="server">
我想在Email验证失败后就不提交表单了,但是Email数据不符合要求的时候仍然会提交,可是第二次就不会提交表单了。这是怎么回事呀,请大家帮忙解决!谢谢!
function Check()
{
var validity = 1;
if(isEmail('obj','td'))
validity = 2;
if(validity > 1)
{
return false;
}
else
{
return true;
}
}
if(!isEmail('obj','td'))
正策表达式和函数的调用都没有问题,问题是出在validity 是一个全局变量的问题上。我是想在多个文本进行验证后给validity 赋值,如果不为 1 就不提交。请问怎么解决。
{
...
validity = 2
return false;
}
else
{
....
return true;
}
var validity = 1;也是设置的全局变量;
在第一次提交的时候总是可以,但是不刷新接着进行第二次提交就是正常的结果(不通过验证就不提交表单)