我创建了一个脚本,用于检查电子邮件是否有效。我有另一个功能,它检查是否采用了用户名。当检查两个文本框时,我得到“页面上的错误”,如果在那里检查它们就可以正常工作。
以下是我的代码
<script type="text/javascript">
function AjaxFunction()
{
var httpxml;
try
{
// Firefox, Opera 8.0+, Safari
httpxml=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
httpxml=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
httpxml=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
function stateck()
{
if(httpxml.readyState==4)
{
document.getElementById("msg").innerHTML=httpxml.responseText;
}
}
httpxml.open("GET",ajax.php,true);
httpxml.send(null);
}
</script>
<form name=form action=''>
Username <input type=text name=username onBlur="AjaxFunction();"><br><div id="msg"></br></div><br>
Email Address<input type=text name=email onBlur="AjaxFunction();"><div id="msg"></div>
<br>
<input type=submit value=Submit >
</form>
这是我的ajax.php文件....注意检查的功能不在这个页面上,我只是使用echo $ username作为一个不工作的例子。
<?
$username=$_GET['username'];
echo $username;
$email = $_GET['email'];
if (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $email)){
echo "<font color=red> Invalid email</font>";
}else{
echo "<font color=green> Valid Email</font>";}
?>
谢谢=)
答案 0 :(得分:2)
我没有检查,但我认为具有相同ID的两个div是导致问题的原因。此外,您可能还想考虑在JavaScript函数中进行电子邮件验证。
/编辑:我在你的代码中注意到了这一点:
<br><div id="msg"></br></div><br>
你不应该像这样混淆HTML元素。考虑使用HTML验证器,它将为您节省很多麻烦。