2009-02-28 5 views
0

メールが有効かどうかを確認するスクリプトを作成しました。私はユーザー名が取られているかどうかをチェックする別の関数を持っています。両方のテキストボックスをチェックすると、私は 'ページ上のエラー'が表示されます。以下はフォームの検証:同じスクリプトで複数回チェックするとエラーが発生する

チェックする機能を注意してください....これは私のajax.phpファイルである私のコード

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

で、このページではありませんが、私は単にその一例として、エコー$のユーザー名を使用していませんワーキング。

<? 

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

感謝=)

答えて

2

は、私がチェックしていませんが、私は同じIDを持つ2つのdivのは、あなたの問題の原因だと思います。また、JavaScript関数で電子メールの検証を行うことを検討することもできます。

/編集:私はあなたのコードでこれを気づいた:

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

あなたがそのような混同HTML要素を持つべきではありません。 HTMLバリデータを使用することを検討してください。

+0

ありがとうございました。私は、すべてがうまく動作するまで一緒に素早くまとめました。 –

関連する問題