[JQUERY] JQuery와 비활성화 형태에 제출 입력
JQUERYJQuery와 비활성화 형태에 제출 입력
해결법
-
1.키 코드 적발되지 않은 경우, 캐치한다 :
키 코드 적발되지 않은 경우, 캐치한다 :
$('#formid').on('keyup keypress', function(e) { var keyCode = e.keyCode || e.which; if (keyCode === 13) { e.preventDefault(); return false; } });
편집 : 그것을 놓친, 그것의 키를 대신의 keyup 사용하는 것이 좋습니다
편집 2 : 양식 제출을 방지하지 파이어 폭스의 일부 최신 버전에서와 마찬가지로, 그것은 양식도를 키 입력 이벤트를 추가하는 것이 안전합니다. 또한 그것은 단지 형태로 "이름"으로 만 양식 ID에 이벤트를 바인딩하여 (이상?) 작동하지 않습니다. 그러므로 나는 적절하게 코드 예제를 변경하여이 더 분명했다.
편집 3 : 변경된 바인드 ()에에 ()
-
2.일반적으로 양식은 입력 요소에 초점이있을 때 입력에 제출됩니다.
일반적으로 양식은 입력 요소에 초점이있을 때 입력에 제출됩니다.
우리는 폼에서 입력 요소에 키 (코드 13)를 입력하지 않도록 설정할 수 있습니다 :
$('form input').on('keypress', function(e) { return e.which !== 13; });
DEMO : http://jsfiddle.net/bnx96/325/
-
3.심지어 짧은 :
심지어 짧은 :
$('myform').submit(function() { return false; });
-
4.
$('form').keyup(function(e) { return e.which !== 13 });
하는 문서.
-
5.
$(document).on('keyup keypress', 'form input[type="text"]', function(e) { if(e.which == 13) { e.preventDefault(); return false; } });
이 솔루션은 입력 텍스트에 들어갑니다 방지 (아약스 삽입 형태에서도) 웹 사이트의 모든 형태에서 작동합니다. 문서 준비 기능에 배치하고, 삶에 대한이 문제를 잊어 버려.
-
6.대부분의 답변은 위의 텍스트 영역 필드에 새로운 라인을 추가하는 사용자를 방지 할 수 있습니다. 이것은 당신이 피하고 싶은 일이 있으면, 당신은 현재 포커스가있는 요소를 확인하여이 특별한 경우를 제외 할 수 있습니다 :
대부분의 답변은 위의 텍스트 영역 필드에 새로운 라인을 추가하는 사용자를 방지 할 수 있습니다. 이것은 당신이 피하고 싶은 일이 있으면, 당신은 현재 포커스가있는 요소를 확인하여이 특별한 경우를 제외 할 수 있습니다 :
var keyCode = e.keyCode || e.which; if (keyCode === 13 && !$(document.activeElement).is('textarea')) { e.preventDefault(); return false; }
-
7.캡처 가진 내 솔루션은 다음과 같은 브라우저의 동작에 의존하므로이, 키 정말 버그 나 입력에 대한 모든 키 입력을 테스트의 과잉 :
캡처 가진 내 솔루션은 다음과 같은 브라우저의 동작에 의존하므로이, 키 정말 버그 나 입력에 대한 모든 키 입력을 테스트의 과잉 :
제출 버튼에 클릭 이벤트를 트리거 Enter 키를 눌러 ** (IE11, 크롬 (38), FF (31)에서 테스트) (참조 : http://mattsnider.com/how-forms-submit-when-pressing-enter/)
내 솔루션은 제거하는 것입니다 그래서 표준 버튼 (즉, <입력 유형 = "제출">) 제출을 누르면 입력하면 마술 클릭 버튼을 제출에는이 있기 때문에 위의 행동이 실패하지 않습니다 그래서. 대신에, 나는 jQuery의 .submit () 메소드를 통해 양식을 제출하기 위해 정기적 버튼에 jQuery를 클릭 핸들러를 사용합니다.
<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
형태는 1 입력 필드를 가지고 있으며, 그 분야는 '텍스트'입력되면 **이 동작은 적용되지 않습니다; 어떤 버튼은 HTML 마크 업에 존재 제출하는 경우에도이 경우 형태 (예를 들면 필드를 검색) 키를 누르십시오에 제출되지 않습니다. 이는 90 년대 이후 표준 브라우저 동작하고있다.
-
8.당신은 단지 입력 및 이벤트 제출에 사용 형태에 버튼을 제출에 제출할 사용하지 않으려면
당신은 단지 입력 및 이벤트 제출에 사용 형태에 버튼을 제출에 제출할 사용하지 않으려면
<form onsubmit="return false;">
당신은 필요한 무엇이든 또한 마지막 단계로 양식을 제출 JS 함수 호출 "반환 false"로 대체 할 수 있습니다.
-
9.간단한 방법은 버튼에 버튼의 유형을 변경하는 것입니다 - HTML에 다음 JS에 이벤트를 추가 ...
간단한 방법은 버튼에 버튼의 유형을 변경하는 것입니다 - HTML에 다음 JS에 이벤트를 추가 ...
이에서 변경 :
<form id="myForm"> <button type="submit">Submit</button> </form>
에
<form id="myForm"> <button type="button" id="btnSubmit">Submit</button> </form>
그리고 JS 또는 JQuery와 추가 기능에 :
$("#btnSubmit").click(function () { $('#myForm').submit(); });
-
10.당신은 순수 자바 스크립트, 간단한 완벽하게이 작업을 수행 할 수 있으며, 더 라이브러리가 필요하지 않습니다. 여기 비슷한 주제에 대한 내 자세한 대답은 : 양식 키를 입력 해제
당신은 순수 자바 스크립트, 간단한 완벽하게이 작업을 수행 할 수 있으며, 더 라이브러리가 필요하지 않습니다. 여기 비슷한 주제에 대한 내 자세한 대답은 : 양식 키를 입력 해제
즉, 여기에 코드입니다 :
<script type="text/javascript"> window.addEventListener('keydown',function(e){if(e.keyIdentifier=='U+000A'||e.keyIdentifier=='Enter'||e.keyCode==13){if(e.target.nodeName=='INPUT'&&e.target.type=='text'){e.preventDefault();return false;}}},true); </script>
-
11.나는 여기에 내 솔루션, 당신은 이미 지금이 권리를 해결하기 위해 노력이 문제, 또는 누구를 해결 알고 있지만하지 않습니다!
나는 여기에 내 솔루션, 당신은 이미 지금이 권리를 해결하기 위해 노력이 문제, 또는 누구를 해결 알고 있지만하지 않습니다!
$j(':input:not(textarea)').keydown(function(event){ var kc = event.witch || event.keyCode; if(kc == 13){ event.preventDefault(); $j(this).closest('form').attr('data-oldaction', function(){ return $(this).attr('action'); }).attr('action', 'javascript:;'); alert('some_text_if_you_want'); $j(this).closest('form').attr('action', function(){ return $(this).attr('data-oldaction'); }); return false; } });
-
12.다음 코드는이 양식을 제출하는 데 사용되는 키를 입력 부정하지만 여전히 당신이이 텍스트 영역에서 키 입력 사용할 수 있습니다. 당신은 더 필요에 따라 편집 할 수 있습니다.
다음 코드는이 양식을 제출하는 데 사용되는 키를 입력 부정하지만 여전히 당신이이 텍스트 영역에서 키 입력 사용할 수 있습니다. 당신은 더 필요에 따라 편집 할 수 있습니다.
<script type="text/javascript"> function stopRKey(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") || (node.type=="radio") || (node.type=="checkbox")) ) {return false;} } document.onkeypress = stopRKey; </script>
-
13.입력 할 때을 입력하고 Enter를 누르에서 파이어 폭스에서, 그것의 위 양식을 제출합니다. 이 솔루션은 양식이 추가 제출 것입니다 :
입력 할 때을 입력하고 Enter를 누르에서 파이어 폭스에서, 그것의 위 양식을 제출합니다. 이 솔루션은 양식이 추가 제출 것입니다 :
<input type="submit" onclick="return false;" style="display:none" />
-
14.나중에 3 년이 아니라 한 사람이 완전히이 질문에 대답했다.
나중에 3 년이 아니라 한 사람이 완전히이 질문에 대답했다.
아스 커는 기본 양식 제출을 취소하고 자신의 아약스를 호출하려고합니다. 이것은 간단한 솔루션으로 간단한 요청입니다. 각 입력에 입력 된 모든 문자를 차단 할 필요가 없습니다.
형태를 가정하면, A는, 제출 버튼을 가지고 있는지 <버튼 식 "저장 형"> 또는 <입력 ID = "저장 형"TYPE = "제출"> 수행
$("#save-form").on("click", function () { $.ajax({ ... }); return false; });
-
15.그래서 여기에 최고 평점 답을 변경하지 않는 것이 좋습니다되는 들었다.
그래서 여기에 최고 평점 답을 변경하지 않는 것이 좋습니다되는 들었다.
$('#formid').on('keyup keypress', function(e) { if (e.key === 'Enter') { e.preventDefault(); return false; } });
REF. https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/which
-
16.파일이 (로드 완료) 완료되면, 스크립트는 "입력"키에 대한 각 이벤트를 감지하고 그 이벤트 뒤에를 해제합니다.
파일이 (로드 완료) 완료되면, 스크립트는 "입력"키에 대한 각 이벤트를 감지하고 그 이벤트 뒤에를 해제합니다.
<script> $(document).ready(function () { $(window).keydown(function(event){ if(event.keyCode == 13) { e.preventDefault(); // Disable the " Entry " key return false; } }); }); </script>
-
17.코드 위 솔루션의 대부분은 완벽하다. 그러나, 나는 불완전 가장 좋아 하나 "짧은 대답을"생각합니다.
코드 위 솔루션의 대부분은 완벽하다. 그러나, 나는 불완전 가장 좋아 하나 "짧은 대답을"생각합니다.
그래서 여기에 전체 답이다. 뿐만 아니라 IE 7에 대한 네이티브 지원과 자바 스크립트입니다.
var form = document.getElementById("testForm"); form.addEventListener("submit",function(e){e.preventDefault(); return false;});
Enter 키를 사용하여 제출하고 페이지를 다시로드되지 않거나 양식 어딘가에 아래의 경우, 페이지의 상단에 당신을 데려에서이 솔루션은 현재 사용자를 방지 할 수 있습니다.
-
18.이것은 어떤가요:
이것은 어떤가요:
$(":submit").closest("form").submit(function(){ $(':submit').attr('disabled', 'disabled'); });
이 앱에서 전송 버튼으로 모든 형태를 사용하지 않도록 설정해야합니다.
from https://stackoverflow.com/questions/11235622/jquery-disable-form-submit-on-enter by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 어떻게 JQuery와 콜백 양식 제출 후를 할까? (0) | 2020.10.14 |
---|---|
[JQUERY] 키 / 값 자바 스크립트 객체의 키를 얻을 수있는 가장 좋은 방법 (0) | 2020.10.14 |
[JQUERY] JQuery와 자바 스크립트를 사용하여로드 된 경우 확인 (0) | 2020.10.14 |
[JQUERY] jQuery를 사용하여 링크에 클릭을 유발하는 방법 (0) | 2020.10.14 |
[JQUERY] 자바 스크립트에서 길게 누름? (0) | 2020.10.14 |