이것은 아주 간단한 것입니다. 하지만 왜 이런 일이 일어나는 지 알지 못합니다 ...
jQuery's .submit()
method. 충분히 쉽고 - 함수를 전달하면 청취자 역할을합니다. 아무 것도 전달하지 말고 .trigger('submit')
으로 전화하십시오. 그러나 지난 24 시간 동안 저에게 큰 골치 거리였습니다.
기본적으로 내가하려는 것은 간단한 검증 스크립트를 작성하는 것입니다. 사용자가 양식의 제출 버튼을 클릭하면 입력을 확인하기위한 함수가 실행되고 모든 것이 정상적으로 작동하면 양식이 제출됩니다 (기본 시나리오에서는이 시나리오에서는 멋진 아약스가 사용되지 않음). 이 문제는 jQuery 객체 또는 일반 'HTML HTML DOM 요소 객체에서 .submit
을 호출하려고 할 때 발생합니다. 나는 jQuery가 HTMLFormElement의 네이티브 .submit
을 죽인다는 것을 배웠다. 그래서 왜 그것이 작동하지 않는지 이해할 수있다. (아마도 그것은 바보 같다). 하지만 ... jQuery의 .trigger('submit')
(또는 간단히 .submit()
)이 작동하지 않는 이유는 무엇입니까?
예 (또는 Fiddle를 찾아 보라) :
HTML :
<form class="comment-form" action="#" method="get">
<input type="submit" id="submit" name="submit" value="submit"/>
</form>
자바 스크립트 : 나는에 .call()
를 사용하여 양식을 호출하여 해결 방법을 찾았어요
$('.comment-form').on('click', '#submit', function(e) {
var form = e.delegateTarget;
e.preventDefault();
// For the purpose of demonstration, just setting it true
if (true) {
form.submit(); // object is not a function - this makes sense since jQuery is overriding this
$(form).submit(); // nothin at all :(
$(form).trigger('submit'); // nope, nada
}
});
HTMLFormElement 프로토 타입,하지만 왜 이것을해야합니까?
왜? 왜? 왜?
것은 키가 여기 된 이후 문제의 마크 업을 포함해야합니다. –