Doğrulama Form: aynı senaryo üzerinde yapılan birden fazla onay bir hata veriyor

1 Cevap php

Ben bir e-posta geçerli olup olmadığını denetleyen bir komut dosyası oluşturduk. Ben bir kullanıcı adı alınır denetler başka bir işlevi var. Her iki metin kutularının kontrol ederken bu iyi çalışıyor orada kendi üzerinde kontrol eğer ben 'sayfasındaki hatası' olsun.

Aşağıda benim kodu

<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>

Bu kontrol için işlev Ben sadece bu değil çalışma örnek olarak echo $ username kullanmış, bu sayfada değil unutmayın .... benim ajax.php dosyasıdır.

<?

$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>";} 
?>

Teşekkürler =)

1 Cevap

Kontrol etmedim ama aynı kimliğe sahip iki div senin sorunun nedeni olduğunu düşünüyorum. Ayrıca, ister bir JavaScript işlevi e-posta doğrulama yaptığını düşünebilirsiniz.

/ Edit: Ben senin kodunda bu fark:

<br><div id="msg"></br></div><br>

Böyle karışık HTML öğelerini olmamalıdır. Bir HTML doğrulayıcı kullanmayı düşünün, bu baş ağrısı bir çok kazandıracak.