2011-01-10 3 views
5

ajax 기능을 사용하고 있습니다. 입력 키를 사용하여 제안을 선택하면 제출 단추가 자동으로 집중되기 때문에 양식이 자동으로 제출됩니다. 입력 키를 사용하여 아약스 제안을 선택하는 방법은 없으며 입력 키를 사용하여 양식을 제출하십시오. 내가 모든 필드의 값을 입력 한 다음 제출 버튼 만 활성화 될 때와 같은 것입니다.Ajax 기능을 사용 중이기 때문에 Enter 키를 눌렀을 때 양식 제출을 비활성화하십시오.

답변

4

Ajax 기능을 어떻게 부르시겠습니까? 폼의 submit 이벤트 처리기 안에 있어야합니다. 이벤트 핸들러 반환 false이있는 경우 그리고 정상적으로 제출하지 않습니다

<form onsubmit="doAjaxSubmit(); return false;"> 
    ... 
</form> 
+0

자동 완성 필드에 입력을 입력해도 AJAX 제출이 계속 발생하므로 문제가 해결되지 않는 것처럼 보입니다. – kprevas

+0

하지만 onSubmit 호출에 하나의 양식 검사기 메서드를 사용하고 있는데 doAjaxSubmit()이 있으면이 메서드를 호출합니다. –

2

당신은 .keypress() 방법을 사용하여 누를 때 어떤 키 감지 할 수 있습니다. 이것에서 당신이 양식에 대한 if 문에서 그것의 뒷면에 제출하고 아약스 물건을 할 return false; 할 수 있어야한다 : 모든 필드 값이있는 경우

http://api.jquery.com/keypress/

+0

ajax 기능에 jquery를 사용하지 않으므로 Jquery.keypress() 함수를 사용할 수 없습니다. –

1

당신은 양식의 onSubmit 반환 true을 가질 수 있습니다, 그렇지 않은 경우 false.

관련 문제