간단한 검증을 수행하는 함수가 있습니다. 모든 입력 텍스트가 empyt이면 경고 메시지가 뜨고 프로그램이 중지됩니다. 버튼을 클릭하면 기능이 작동합니다. 난 allready 이벤트를 전달하지만, 어쨌든 event.PreventDefault(), 그래서 여전히 서버 측 코드에 액세스 작동하지 않습니다. 다음은 간단한 유효성 검사를 수행하는 기능입니다. 트리거에 대한 events.prevendefault()가 each() 함수가있는 함수 안에서 작동하지 않습니다.
var checkRequired = function(event)
$('.box-load .requir').each(function(index,item) {
var index = $(item).data('index');
if(index === 'text') {
if ($(item).val() == "") {
$(this).focus();
alert('Please input the required parameter');
event.preventDefault();
}
}
});
}
이 코드 사용하는 기능
다음 checkRequired() 벨로$(document).on('click','.box-load .btn-save', function(event) {
event.preventDefault();
checkRequired(event);
, 나는 아약스 요청을 할거야. 내가 원한 것은, 입력 텍스트 중 하나가 비어 있으면 이벤트가 중지 된 것입니다. 그러나이 코드를 사용하면 작동하지 않습니다. 어떠한 제안?
미리 감사드립니다.
'checkRequired()'를 수정하여 부울을 반환하고 클릭 처리기 테스트에서 값을 반환하고 Ajax가 작동하면이를 수행하십시오. 클릭 핸들러에서 이미'event.preventDefault()'를 호출했고,'.preventDefault()'는 아무 것도하지 않았기 때문에'checkRequired()'안에'event.preventDefault()'를 사용하는 것은 의미가 없습니다. Ajax 코드를 중지하면 클릭 한 버튼의 기본 (비 JS) 동작 만 방지됩니다. – nnnnnn
처럼 보이는 버튼은 제출 버튼의 종류입니다. 그래서 첫 번째'event.preventDefault'가 작동해야합니다. 양식 제출로 인해 서버 측 코드가 실행되는지 어떻게 알 수 있습니까? –