2011-08-06 5 views
-1

:JQuery와 나는 이메일 확인을 위해이 코드를 사용하고 이메일 확인

function validateEmail(){ 
    //testing regular expression 
    var a = $("#email").val(); 
      $.ajax({ 
       type: "GET", 
       url: "is_email.php", 
       data: "email="+a, 
       success: function(response){ 
       //if it's valid email 
     if(is_email(a)){ 
     email.removeClass("error"); 
     emailInfo.text(""); 
     emailInfo.removeClass("error"); 
     return true; 

       //if it's NOT valid 
     }else{ 
     email.addClass("error"); 
     emailInfo.text("Please type a valid E-mail"); 
     emailInfo.addClass("error"); 
     return false; 
     } 
       } 
      }); 
} 

하지만 방화범이 오류 얻을 : is_email가 정의되어 있지 않습니다.

어떻게 해결할 수 있습니까?

고맙습니다.

+0

filter.test 대신 email_validation.php에 AJAX 요청을 만드시겠습니까? – arunkumar

+0

사용하지 않았지만 시도 할 것입니다. 새 AJAX 요청을 var로 설정할 수 있습니까? var filter = new AJAX Request 같은가? – Pavlos1316

+0

어디에서'is_email()'을 정의합니까? – JJJ

답변

1

JavaScript에서 PHP 함수를 사용하려는 것 같습니다. 그건 불가능 합니다만, is_email.php 스크립트가 유효성 검사를 수행하고 결과에 따라 무언가를 인쇄한다면, 그것을 사용할 수 있습니다.

function validateEmail(){ 
    var a = $("#email").val(); 
    $.ajax({ 
     type: "GET", 
     url: "is_email.php", 
     data: "email="+a, 
     success: function(response){ 
      if(response == "ok"){ 
       // email is valid 
      } else { 
       // email is not valid 
      } 
     } 
    }); 
} 

하지만, 내가 is_email.php 만 is_email() 기능이 포함되어있는 것으로 :

의 이메일이 유효한 is_email.php 인쇄 "확인"(실제 출력이 무엇이든에 변화가) 있다고 가정하자 . 이 경우 실제로 해당 기능을 사용하는 다른 PHP 스크립트를해야하고 대신 Ajax 호출에서 사용 :

<?php // validate_email.php 
require('is_email.php'); 

if(is_email($_GET[ 'email' ])) { 
    echo 'ok'; 
} 
else { 
    echo 'invalid'; 
} 

다음 url: "validate_email.php"에 Ajax 호출에 url: "is_email.php" 줄을 변경 (또는 새 스크립트가 호출 무엇이든) .

Ajax의 콜백 함수에서 true 또는 false를 반환하는 것은 의미가 없다는 점에 유의하십시오. 그 정보를받을 수있는 정보는 없습니다. Ajax 호출이 완료되면 validateEmail()이 이미 반환되었습니다. 콜백 함수 내에서 원하는 모든 작업을 수행해야합니다.

+0

ok ... 나는 그것을 얻었다고 생각한다. .. 그리고 validate 전자 메일에서 나는 이메일 alresy가 나의 db 안에 존재하는지 점검을 포함시킬 수있다? 권리??? – Pavlos1316

+0

글쎄, PHP 파일에서는 기본적으로 원하는대로 할 수 있습니다. – JJJ

+0

고마워요 ... 고마워요. 고맙습니다. 지금은 존재하는지 확인하려고합니다. 그러나 새로운 질문을 열어서 여기에서 엉망이되지 않도록하십시오. – Pavlos1316