2009-02-28 4 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를 가진 두 개의 DIV 년대는 문제의 원인을 생각합니다. 또한 JavaScript 함수에서 전자 메일 유효성 검사를 수행하는 것이 좋습니다.

/편집 : 당신은 그와 같은 혼합 HTML 요소가 없어야합니다

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

: 나는 당신의 코드에서이났습니다. HTML 검사기를 사용하면 많은 두통을 줄일 수 있습니다.

+0

감사합니다. 예, 아니요. 모든 것이 작동 할 때까지는 그냥 빨리 집어 넣었습니다. –

관련 문제