자바스크립트로 양식 제출 이벤트는 어떻게 들을 수 있나요?
양식 유효성 확인 javascript 라이브러리를 직접 작성하고 싶고 제출 버튼을 클릭하면 검색하는 방법을 구글에서 찾아봤지만 클릭 온에서 사용해야 하는 코드만 발견되었습니다.onSubmit="function()"html로
제출하기나 클릭하기 자바스크립트에서 추가하기 같은 html 코드를 터치할 필요가 없도록 이 자바스크립트를 만들고 싶습니다.
왜 사람들은 jQuery가 필요하지 않을 때 항상 사용합니까?
왜 사람들은 단순한 자바스크립트를 사용할 수 없습니까?
var ele = /*Your Form Element*/;
if(ele.addEventListener){
ele.addEventListener("submit", callback, false); //Modern browsers
}else if(ele.attachEvent){
ele.attachEvent('onsubmit', callback); //Old IE
}
callback 양식을 제출할 때 호출할 함수입니다.
대해서EventTarget.addEventListener, MDN에서 이 문서를 확인합니다.
네이티브 취소하기submit이벤트(제출 양식 prevent), 콜백 기능에 사용,
document.querySelector("#myForm").addEventListener("submit", function(e){
if(!isValid){
e.preventDefault(); //stop form from submitting
}
});
들어보기submit라이브러리가 있는 이벤트
라이브러리가 필요하다고 결정한 경우(이미 라이브러리를 사용 중이거나 크로스 브라우저 문제를 처리하지 않으려는 경우), 일반 라이브러리에서 제출 이벤트를 들을 수 있는 방법 목록은 다음과 같습니다.
jQuery
$(ele).submit(callback);어디에
ele는 폼 요소 참조이며,callback콜백 함수 참조입니다.참조
<iframe width="100%" height="100%" src="http://jsfiddle.net/DerekL/wnbo1hq0/show" frameborder="0"></iframe>
AngularJS (1.x)
<form ng-submit="callback()"> $scope.callback = function(){ /*...*/ };반응
<form onSubmit={this.handleSubmit}> class YourComponent extends Component { // stuff handleSubmit(event) { // do whatever you need here // if you need to stop the submit event and // perform/dispatch your own actions event.preventDefault(); } // more stuff }핸들러를 에 전달하기만 하면 됩니다.
onSubmitprop.참조문기타 프레임워크/라이브러리
프레임워크의 설명서를 참조합니다.
확인
항상 자바스크립트로 유효성 검사를 할 수 있지만 HTML5를 사용하면 네이티브 유효성 검사도 가능합니다.
<!-- Must be a 5 digit number -->
<input type="number" required pattern="\d{5}">
자바스크립트도 필요 없어요!네이티브 유효성 검사가 지원되지 않을 때는 언제든지 JavaScript 검사기로 폴백할 수 있습니다.
데모: http://jsfiddle.net/DerekL/L23wmo1L/
이것은 당신이 당신만의 자바스크립트 함수를 호출할 수 있는 가장 간단한 방법입니다.onSubmit일어나다.
HTML
<form>
<input type="text" name="name">
<input type="submit" name="submit">
</form>
자바스크립트
window.onload = function() {
var form = document.querySelector("form");
form.onsubmit = submitted.bind(form);
}
function submitted(event) {
event.preventDefault();
}
요구 사항에 따라 jQuery와 같은 라이브러리 없이 다음 작업을 수행할 수도 있습니다.
이 내용을 머리에 추가합니다.
window.onload = function () {
document.getElementById("frmSubmit").onsubmit = function onSubmit(form) {
var isValid = true;
//validate your elems here
isValid = false;
if (!isValid) {
alert("Please check your fields!");
return false;
}
else {
//you are good to go
return true;
}
}
}
그리고 당신의 양식은 여전히 다음과 같습니다.
<form id="frmSubmit" action="/Submit">
<input type="submit" value="Submit" />
</form>
동일한 페이지에 양식이 여러 개 있고 ID를 사용하지 않고 제출 이벤트 Listener를 처리하려는 경우
jQuery
$('form').submit(function (event) {
targetObj = event.target;
// do your logic
});
순수 자바스크립트 트릭
부하는 아래로 내려갑니다.
for(var i=0; i<document.forms.length; i++){
var form = document.forms[i];
form.addEventListener("submit", myListener,false);
}
credit :- 자바스크립트 크레딧을 사용한 다중 양식 제출 이벤트 청취자 처리는 StackOverflow 커뮤니티의 Jan Paifer's Answer로 이동합니다.
이것이 누군가에게 도움이 되길 바랍니다.
jQuery 사용:
$('form').submit(function () {
// Validate here
if (pass)
return true;
else
return false;
});
언급URL : https://stackoverflow.com/questions/7410063/how-can-i-listen-to-the-form-submit-event-in-javascript
'programing' 카테고리의 다른 글
| 대화형 사용자를 통한 Excel COM 자동화는 사용자 로그오프 시 작동 중지 (0) | 2023.10.07 |
|---|---|
| SQL - 전치 방법은? (0) | 2023.10.07 |
| WooCommerce에서 적용되는 쿠폰 코드가 있는지 확인합니다. (0) | 2023.10.07 |
| jQuery - 아래로 스크롤할 때 축소되는 sticky 헤더 (0) | 2023.10.07 |
| PHP - 제거PHP - 제거문자열에서 따옴표로 옮기다문자열에서 따옴표로 옮기다 (0) | 2023.10.07 |