Проверка формы: многократная проверка одного и того же скрипта выдает ошибку - PullRequest
0 голосов
/ 28 февраля 2009

Я создал скрипт, который проверяет, является ли электронная почта действительной. У меня есть другая функция, которая проверяет, занято ли имя пользователя. При проверке обоих текстовых полей я получаю сообщение об ошибке «на странице», если они проверены сами по себе, это прекрасно работает.

Ниже мой код

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

Спасибо =)

1 Ответ

2 голосов
/ 28 февраля 2009

Я не проверял, но я думаю, что две проблемы с одним и тем же идентификатором - причина вашей проблемы. Кроме того, вы можете рассмотреть возможность проверки электронной почты в функции JavaScript.

/ Edit: я заметил это в вашем коде:

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

Вы не должны так смешивать HTML-элементы. Подумайте об использовании валидатора HTML, это избавит вас от головной боли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...