2013-04-05 2 views
1

HTML 양식이 있습니다. 정상적인 폼 제출이 아닌 일부 자바 스크립트를 실행해야하므로 제출 버튼의 활성화를 가로 채고 있습니다.Enter 키를 누르면 양식이 제출되지만 접근성이 깨집니다.

javascript를 추가하여 입력 버튼을 클릭하고 제출 버튼을 클릭하면 양식이 활성화됩니다 (정상적인 방법이라고 생각합니다). 그러나 이것은 접근성을 파괴합니다. 사용자가 폼 외부의 다른 버튼이나 링크로 이동 한 다음 Enter 키를 누르면 포커스가있는 버튼이 활성화됩니다. 그러나 그것은 나던 - 양식 버튼 대신 활성화됩니다. 이 문제를 처리하는 표준 방법은 무엇입니까 (나는 여기에 근본적인 것이 빠져 있다는 느낌을 갖습니다)?

나는 타격이 (jQuery를) 입력 캡처 사용하고 무엇

단순화 된 버전 ....

$("form").bind("keydown", function(e){ 
      if (e.which == 13) { 
       e.currentTarget.blur(); 
       $("button").click(); 
       return false; 
      } 
     }); 
+0

나는 그 방법을 완전히 떨어 뜨리고'onSubmit()'을 오버런 할 것이다. –

답변

2

인터셉트 대신 submit() 조치하고 즉시 취소 event.preventDefault()를 사용

$('form').on('submit',function(e) { 
    e.preventDefault(); 
    // more code 
}); 
관련 문제