ASP.NET의 서버 제어 포스트백은 다음 JS 코드 조각을 사용합니다.
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value =
theForm.submit; ( );
}
}
오늘 직면한 문제는 서버측 컨트롤이 다시 게시하기 전에 숨겨진 필드 중 하나에 값을 할당하고 싶다는 것입니다. 서버에 가치를 부여합니다.
그래서 JQuery의 submit([[data],fn]) 메소드를 사용하여 이벤트를 추가했는데 작동하지 않는 것을 발견했습니다.
$("form:first").submit()을 시도한 결과 이벤트 기능이 실행될 수 있음을 확인했습니다.
무슨 일이에요? 정보를 확인한 후 js의 기본 함수 void submit()이 제출 이벤트를 트리거하지 않는다는 것을 발견했습니다. 그렇기 때문에 위의 코드에
if (< ;span style="color:#006600">!theForm.onsubmit || (theForm.onsubmit() != false)) {
...
}
그렇습니다.
그래서 추가 이벤트를
코드 복사로 작성합니다. 코드는 다음과 같습니다.
$ ("form:first").get(0).onsubmit = function () {
...
};
그게 다입니다.
또한 JQuery의 submit([[data],fn])을 사용하여 추가된 이벤트는 $().submit()을 사용하여 트리거될 수 있습니다.