2010-02-04 5 views
1

사용자가 로그인 할 수있게하기 전에 일반 C# 처리기 (.ashx)에 대한 .ajax 호출을 사용하여 사용자 이름과 비밀번호의 유효성을 검사하는 로그인 페이지를 만들었습니다.응답없는 Chrome onenter의 jquery ajax 호출 오류

당신은

<a href="#" class="ui-state-default ui-corner-all CustomButton" onclick="goLogin();return false"> 

아약스 호출이 반환 성공적으로 로그인 링크를 클릭하고 그것을에서 사용자를 기록합니다. 내가 그렇게 사용자가 또한 단지가에서 "Enter"키를 누를 수 있도록 노력하고있다 암호 상자 :

$("#pword").keydown(function(e) { 
    if (e.keyCode == 13) { 
     goLogin(); 
    } 
}); 

Firefox를 사용하면 두 가지 방법 모두 잘 작동하고 사용자가 로그인합니다. 그러나 Chrome에서는 ". enter"를 누르면 내 .ajax 호출의 오류 기능에 부딪치며 사용자를 로그인하지 않습니다.

매개 변수 및 응답 예상대로 파이어 폭스의 콘솔을 통해 동일하게 보입니다. 이 문제의 원인은 무엇이며 Chrome에서 어떻게 디버그 할 수 있습니까?

+0

저는 다른 문제를 해결했으며 IE7과 IE8에서 테스트 할 수 있습니다. 그것은 IE에서 두 가지 방법으로 작동합니다 .... 여전히 "enter"크롬에서 작동하도록 얻을 수 없습니다. – wham12

+0

재미있는 개발 .... goLogin 함수의 시작 부분에 경고를두면 Chrome에서 "enter"가 작동합니다. .ajax 호출이 성공/실패에 영향을 미치기 전에 일시 중지가 필요한 이유는 무엇입니까? – wham12

답변

0

문제는 실제로 내 HTML에 오류가 발생했습니다. 우연히 중첩 된 양식이 있고 Chrome이 첫 번째 중첩 된 양식을 렌더링하지 않습니다 (그러나 나머지 모든 중첩 된 양식을 렌더링하므로 나머지 페이지는 잘 보입니다).

0

당신은 jQuery를뿐만 아니라 링크를 클릭 할 수 있습니다 : 입력

$("#pword").keydown(function(e) { 
    if (e.keyCode == 13) 
     $(".CustomButton[href=#]").click(); 
     //Really should give <a> an ID, e.g. $("#LoginBtn").click(); 
}); 

버튼이하는 무엇이든을 지금 것뿐만 아니라 ...이 일부 브라우저 문제 주위에 경로 경향이 할 당신이로보고있는 같은 잘.

+0

제안 된대로 버튼에 ID를 부여하고 클릭을 호출합니다. 그것은 차이를 만드는 것처럼 보이지 않았지만 여전히 파이어 폭스에서 두 가지 방식으로 작동하지만 크롬에서만 버튼을 클릭하면됩니다. – wham12

0

동일한 문제가 있습니다. keypress를 사용하고 false를 반환하면 Chrome 및 Safari에서 문제가 해결되었습니다. 이 도움이

$("#pword").keypress(function(e) { 
    if (e.keyCode == 13) { 
     goLogin(); 
     return false; 
    } 
}); 

희망 .. 가시