반응형
_some 필드에서만 Enter 키를 통한 양식 제출 비활성화
사용자가 익숙하기 때문에 기존의 'Enter 키를 누르면 양식 제출'동작을 유지하고 싶습니다. 그러나 반사에 의해 그들은 텍스트 입력 상자로 끝낼 때 종종 Enter 키를 누르지 만 실제로 완전한 양식으로 완료되기 전에.
특정 클래스의 입력에 초점이 맞춰질 때만 Enter 키를 가로 채고 싶습니다.
관련 질문 찾기 이것은 내가 찾고있는 것 같습니다.
if (document.addEventListener) {
document.getElementById('strip').addEventListener('keypress',HandleKeyPress,false);
} else {
document.getElementById('strip').onkeypress = HandleKeyPress;
}
하지만 그 if (document.addEventListener) {
부분은 나에게 생소합니다.
다음 keypress
과 같이 해당 필드 에서 입력 을 캡처하고 취소 할 수 있습니다 .
$('.noEnterSubmit').keypress(function(e){
if ( e.which == 13 ) return false;
//or...
if ( e.which == 13 ) e.preventDefault();
});
그런 다음 귀하의 입력에 대해 class="noEnterSubmit"
:)
다른 사람들이 나중에 이것을 발견 할 경우를 대비하여 jQuery 1.4.3 (아직 출시 되지 않음)에서 다음과 같이 줄일 수 있습니다.
$('.noEnterSubmit').bind('keypress', false);
<Head>
HTML 코드의 태그에 다음 코드를 추가하기 만하면 됩니다. 양식의 모든 필드에 대해 Enter 키로 양식 제출
<script type="text/javascript">
function stopEnterKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type == "text")) { return false; }
}
document.onkeypress = stopEnterKey;
</script>
<input type="text" onkeydown="return (event.keyCode!=13);" />
특정 클래스에서만 입력을 허용하려면 (이 예에서는 'enterSubmit') :
jQuery(document).ready(function(){
jQuery('input').keypress(function(event){
var enterOkClass = jQuery(this).attr('class');
if (event.which == 13 && enterOkClass != 'enterSubmit') {
event.preventDefault();
return false;
}
});
});
반응형
'Development Tip' 카테고리의 다른 글
숫자를 포함 할 수있는 문자열을 기준으로 정렬 (0) | 2020.10.26 |
---|---|
JavaScript에서 이름 문자열로 동적으로 전역 변수 가져 오기 (0) | 2020.10.26 |
Tortoise SVN : 'theirs'를 사용하여 갈등을 해결합니다. (0) | 2020.10.26 |
Jquery는 문자열로 시작하는 모든 ID를 찾으십니까? (0) | 2020.10.26 |
시스템의 다른 곳에서 SignalR 허브 클라이언트 호출 (0) | 2020.10.26 |