2016-09-22 2 views
0

저는이 문제를 해결할 수 밖에 없었습니다. 나는 코스리스트를 얻기 위해 아약스 포스트를하고 있습니다. 목록을 가져 오는 방법에는 두 가지가 있습니다. 사용자는 검색 버튼을 클릭하거나 Enter 키를 누를 수 있습니다. 검색 버튼을 클릭하면 잘 작동하는 코스 목록을 반환합니다. 그러나 Enter 키를 눌러도 작동하지 않습니다. 항상 "jqXHR.status = 0 - 연결되지 않았습니다."라는 오류를 반환합니다.Ajax 포스트 전화가 KeyUp에서 작동하지 않습니다.

PerformSearch()를 호출하는 두 이벤트입니다.

이 키 업 이벤트가 작동하지 않습니다.

$('#searchFor').on('keyup', function (event) { 
    event.preventDefault(); 
    if (event.which === 13) { 
     // $('#SearchCourses').click(); 
     PerformSearch(); 
    } 
}) 

클릭 이벤트가 잘 작동합니다.

// 코스 목록을 반환하는 서버 측 코드.

public ActionResult GetCourses(Course courseObj) 
    { 
    . 
    . 
    . 
    return PartialView("Courses", courses); 
} 

이벤트는 물론 객체 대신 전체 페이지를 제출한다.

+0

모든 샘플 바이올린을 중지해야? – Vatsal

+3

폼에 스틱을두고 대신'submit' 이벤트를 사용하면 많은 슬픔을 피할 수 있습니다. 그 이외에는 문제가 게시 된 코드로 보이지 않으며 둘 다 같은 함수를 호출하고 그 함수는 게시되지 않으므로 그 함수가 무엇을하는지 전혀 알 수 없습니다. – adeneo

+0

이름이 같고 ID가 다른 다른 입력 텍스트 상자를 추가했습니다. 그런 다음 이벤트가 원본 텍스트 상자에서 작동하기 시작합니다. 지금 당장은 나에게 의미가 없습니다. –

답변

0

을보십시오 :

$('#searchFor').bind('keypress', function (e) { 
        var code = e.keyCode || e.which; 
        if (code == 13) { //Enter keycode 
         //Do something 
         PerformSearch(); 
        } 
       }); 
+0

jQuery가 정상화하므로 잘 ... – epascarello

0

당신은 양식 제출

if (event.which === 13) { 
    event.preventDefault(); 
    PerformSearch(); 
} 
관련 문제