ENTER 키에 대한 모든 키 입력을 캡처하고 테스트 해야하는 과도한 노력으로 인해 실제로 버그가 발생하므로 솔루션은 다음 브라우저 동작에 의존합니다.
ENTER를 누르면 제출 버튼 에서 클릭 이벤트 가 발생 합니다 (IE11, Chrome 38, FF 31에서 테스트). ** (참조 : http://mattsnider.com/how-forms-submit-when-pressing-enter/ )
따라서 내 솔루션은 표준 제출 버튼 (즉 <input type="submit">
) 을 제거하여 ENTER를 누를 때 마술처럼 클릭 할 제출 버튼이 없기 때문에 위의 동작이 실패하도록하는 것입니다. 대신 일반 버튼에서 jQuery 클릭 핸들러를 사용하여 jQuery의 .submit()
메소드 를 통해 양식을 제출합니다 .
<form id="myform" method="post">
<input name="fav_color" type="text">
<input name="fav_color_2" type="text">
<button type="button" id="form-button-submit">DO IT!</button>
</form>
<script>
$('#form-button-submit').click(function(){
$('#myform').submit();
});
</script>
데모 : http://codepen.io/anon/pen/fxeyv?editors=101
** 양식에 하나의 입력 필드 만 있고 해당 필드가 '텍스트'입력 인 경우에는이 동작을 적용 할 수 없습니다. 이 경우 HTML 마크 업에 제출 버튼이없는 경우에도 (예 : 검색 필드) ENTER 키에 양식이 제출됩니다. 이것은 90 년대 이후 표준 브라우저 동작이었습니다.