2011-11-14 6 views
0

I가 다음 JQuery와 기능JQuery와 함수가 페이지에 불을 지르고 콘솔에서 작동하지만

$("#photographers_password_confirm").focusout(function() { 
alert('bla') 
if($("#photographers_password") != $("photographers_password_confirm")){ 
        $("#photographers_password_error").slideDown(); 
      }else{ 
        $("#photographers_password_error").hide(); 
      } 
}); 

는 불을 지르고 콘솔에서 잘 작동하지만, 나는 또한 있지만 작동하지 페이지에 넣을 때 firebug 콘솔에서 오류를 반환하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

당신이에 몇 가지 관련 태그와 함께 코드를 넣을 수를 [JsFiddle] (http://jsfiddle.net)? 위의 코드를 이해하는 것은 어렵습니다. – abhinav

+0

'$ (document) .ready()'에 래핑 하시겠습니까? '# photographers_password_confirm'을 추가한다면, 대신'$ ("# photographers_password_confirm"). live ('focusout', function() {})를 사용해야합니다. – Matt

+1

val() $ ("photographerhers_password_confirm"). – Irishka

답변

1

페이지에서 HTML 다운로드의 일부로 "인라인"으로 실행 중이십니까? 아니면 문서 다운로드가 완료된 후 실행 중입니까?

내 생각에 코드는 정상적으로 실행되지만 HTML을 조작 할 준비가되기 전에 실행 중입니다.

이 다음 경고 후 ;을 넣어주세요, 정확한 코드 경우가 $(function() { /* place code here */ }); 블록에

+0

감사합니다. 작동하지만 ... 지금은 어떤 이유로 그 생각처럼 행동하지 않습니다 .... 어떤 생각이 왜 –

-2

확실합니다. 일부 브라우저가 걸릴하고

+1

'일부 브라우저는 그것을 받아들이지 않고 어떤 것은하지 않습니다 ... 어떤 예가 될까요? 이것은 어리석은 AFAIK입니다. – Matt

+0

여기 있습니다 : http://stackoverflow.com/questions/8091606/script-onload-in-ie/8091646#8091646 – Rohan

+1

Urr, 그건 당신의 답변 중 하나에 대한 링크입니다 ... 어떤 브라우저 받아들이거나하지 마라. " JavaScript에서 세미콜론은 선택 사항이며 직접 입력하는 것이 좋습니다. 왜냐하면'return \ n 3 + 4'와 같은 것은 결과가 브라우저간에 일관성이 없기 때문에 7이 아닌 undefined를 반환하기 때문입니다. – Matt

0

이 시도 : 예전의 코딩 스타일을 따라 좋을 것이다, 그래서 일부는하지 않습니다 :

$("#photographers_password_error").slideUp(); 
$("#photographers_password_confirm").focusout(function() { 
    alert('bla'); 
    if ($("#photographers_password").val() != $("#photographers_password_confirm").val()) { 
     $("#photographers_password_error").slideDown(); 
    } else { 
     $("#photographers_password_error").slideUp(); 
    } 
}); 
관련 문제