2009-12-21 6 views
0

여러 입력 필드에 대한 'keyup'이벤트를 처리하고 입력 값을 PHP 스크립트에 전달하는 함수를 작성하려고합니다. 여기에 내가 가진 코드는 지금까지jQuery 동적 함수 및 변수

$(document).ready(function() { 

    $("#email").keyup(function() { 

     val = $("input#email").val(); 
     what = 'email'; 

     aFunction(val, what); 

    }); 

}); 

function aFunction(val, what) { 

    var dataString = what + '=' + val; 
    var error = "email_check"; 

    $.post("key.php", dataString, function (data) { 
     //if (data.[error] == 'invalid'){ 
     if (data.email_check == 'invalid') { 
      $("#ppp").html('error'); 
     } else { 
      $("#ppp").html('good to go'); 
     } 
    }, "json"); 

    //return false; 
} 

내가

//if (data.[error] == 'invalid'){ 

의 주석을 해제하고

if (data.email_check == 'invalid'){ 

을 주석 때 내 스크립트가 실행 나던와의 js 파일은 불을 지르고 스크립트에로드되지 않습니다 콘솔 - 나는 그것을 취소 할 때 그것을 볼 수 있기 때문에 오류가 있다는 것을 의미합니다 가정합니다. 변수에 작은 따옴표와 큰 따옴표를 추가하려고했습니다. 또한 오류가 무엇인지 알 수있는 방법이 있다면 도움이 될 것입니다. 그러나 어떻게 해야할지 모르겠습니다.

+0

개조 - 내 게시물을 계속 편집하는 이유는 무엇입니까? 내가 뭔가 잘못하고있는 중이 야, 변경 사항을 볼 수 없습니까? – jriggs

+0

질문에 javascript 태그를 추가했습니다. 문제는 구문 오류 일뿐입니다. 그 확인은? –

+0

전혀 문제가 없었습니다. 저는 여러분에게 더 많은 일을하고 있다고 생각했습니다. – jriggs

답변

2

여기서 가장 중요한 문제는 도트 표기법 ("data.error") 또는 배열 표기법 ("data [ 'error']")을 사용해야하지만 둘 다 사용하면 안된다는 것입니다 ("data. [ 'error']")) .

+2

실제로는 "괄호 표기법"이라고합니다.) – kangax

+0

데이터 [오류]는 내가 필요한 것입니다. – jriggs

+0

ps - 제 2 차 문제는 무엇입니까? – jriggs

1

자바 스크립트는 식별자에 중괄호를 지원하지 않습니다.

키가 실제로 단지 error 인 경우 if (data.error == 'invalid')을 쓸 수 있습니다.
[error] 인 경우 if (data['[error]'] == 'invalid)`을 작성해야합니다.

구문 오류를 보려면 Firebug의 Console (콘솔) 탭으로 이동하십시오.

+0

+1 콘솔 탭의 헤드에 감사드립니다. 나는 'jquery 코드의 유효성 검사'에 대해 인터넷 검색을 계속하고 유효성 검사기 플러그인에 대한 링크가 돌아왔다. – jriggs