폼의 제출 이벤트가 응답하지 않습니다_HTML/Xhtml_웹페이지 제작
- WBOY원래의
- 2016-05-16 16:45:491615검색
1. 문제 설명
JS를 사용하여 양식 메소드 submit을 호출하여 양식을 직접 제출하는 경우 제출 이벤트가 응답하지 않습니다. 왜? 아시는 분은 답변 부탁드립니다. 비유하자면 input.select()를 사용하여 테스트했지만 select 이벤트에 응답할 수 있었습니다. 지금은 이러한 이유를 제쳐두고 먼저 현재 문제를 해결하는 방법을 살펴보겠습니다.
이벤트에 응답하지 않는 코드 예:
실제 작동 중에는 경고가 발생하지 않습니다.
submit 메소드를 사용하여 양식을 제출하는 것은 Unobtrustive Javascript의 원칙에 어긋나지만 때로는 필요한 경우가 있습니다. 예를 들어 검색 프롬프트(자동 완성)를 만들고 항목을 선택할 때 JS를 사용하여 제출해야 합니다. 검색 양식.
2. 문제 분석
이벤트에 응답하지 않으므로 이러한 이벤트는 수동으로만 트리거할 수 있습니다. 수동 트리거 계획을 결정하기 전에 이벤트 등록 방법을 검토하세요.
두 가지 "원래" 등록 방법이 있습니다. 코드 예제를 참조하세요.
이러한 등록 이벤트는 양식 제출 시 메서드를 추가합니다. 따라서 이 메서드를 직접 실행할 수 있으며 이는 이벤트를 수동으로 트리거하는 것과 같습니다. 코드 예를 살펴보세요.
알림을 받을 수 있습니다.
하지만 오늘날의 "고급" DOM2 표준 등록 방법과 IE의 등록 방법인 attachmentEvent는 이미 널리 사용되고 있습니다. 이러한 등록 방법의 경우 onsubmit 방법이 존재하지 않습니다. form.onsubmit()을 사용하면 오류가 직접 보고됩니다.
3. 해결방안
물론 "고급" 등록 방법 자체도 이벤트를 수동으로 트리거하기 위한 솔루션을 제공합니다. DOM2 표준과 IE에 대해 서로 다른 프로그램을 작성하면 됩니다. 또한 이 프로그램은 "원래" 등록 방법에도 효과적입니다. . 코드 예제를 참조하세요:
4. 코드 요약
각 방법에 대한 자세한 설명은 생략하겠습니다. 익숙하지 않은 친구들은 직접 확인해 보시기 바랍니다. 전체 코드를 하나로 연결해 보겠습니다.
鞝滌稖
鞝勳泊 瓿检爼鞐愳劀 鞛戩潃 氍胳牅臧€ 鞛堨姷雼堧嫟. FX鞐愳劀電성명:본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.