Node.js는 asp.net Button_javascript 기술의 Onclick 이벤트 적용을 트리거합니다.

WBOY
풀어 주다: 2016-05-16 17:42:22
원래의
1517명이 탐색했습니다.

asp.net에 이벤트 기반 기능이 도입된 후에는 ASP에서 여러 양식을 요구하거나 js 스크립트를 통해 이를 제어하는 ​​문제를 피하면서 한 페이지에서 여러 버튼이 서로 다른 이벤트를 트리거하는 문제를 쉽게 해결할 수 있습니다.

asp.net은 편리함을 제공하는 동시에 문제도 가져옵니다. 실제 애플리케이션에서는 한 페이지에 여러 개의 버튼이 있는 경우가 많지 않습니다. 사용자는 입력 상자에 내용을 입력하고 Enter 키를 눌러 양식을 제출하는 데 익숙합니다. asp.net은 이벤트 기반 모델을 사용하므로 사용자가 Enter 키를 누를 때 기본적으로 버튼의 onclick 이벤트가 트리거되지 않습니다. 사용자가 Enter를 눌렀을 때 양식을 제출하지 않은 것은 아닙니다. httpwath를 통해 실제로 양식 아래의 조치 페이지에 페이지 양식이 제출되었음을 알 수 있지만 onclick 이벤트가 발생하지 않습니다.

asp.net 이벤트 기반 모드에서 캐리지 리턴을 통해 이벤트를 트리거하려면 js 스크립트를 사용해야 합니다.
asp.net의 aspx 페이지에서 양식 코드:

코드 복사 코드는 다음과 같습니다.



그러나 액세스 페이지의 소스 코드에서 볼 수 있습니다:
코드 복사 코드는 다음과 같습니다.



따라서 기본적으로 입력 상자에서 Enter를 직접 누르면 실제로는 아무 것도 트리거하지 않고 양식의 작업에 해당하는 페이지에 양식이 제출됩니다. 이벤트.
이상한 점: aspx 페이지에서 웹 컨트롤을 사용하지 않는 경우 입력 상자에서 Enter를 누르면 기본적으로 어떤 버튼 버튼의 onclick 이벤트도 실행되지 않습니다. 그러나 웹 컨트롤이 페이지에서 사용되는 경우에는 Enter를 누르세요. 입력 상자가 있고 첫 번째 버튼의 onclick 이벤트가 기본적으로 트리거됩니다. [여기서 첫 번째는 웹 컨트롤의 버튼 컨트롤을 포함하여 페이지 코드에서 가장 먼저 나타나는 버튼 컨트롤을 의미합니다.]
js를 통해 버튼 버튼의 onclick 이벤트를 트리거하는 방법에 대해 이야기해 보겠습니다.
기본 버튼 컨트롤인 html의 코드는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.



실제로 클릭하면 발생하는 onclick 이벤트 이 버튼은 js 스크립트를 생성했습니다: __doPostBack(eventTarget, eventArgument)
버튼 컨트롤에는 UseSubmitBehavior 속성이 있습니다. 기본값은 true입니다. 이를 false로 변경한 다음 html 소스 코드를 보면 명확하게 알 수 있습니다. call js 스크립트 함수를 참조하세요.
코드 복사 코드는 다음과 같습니다.



생성된 js 스크립트:
코드 복사 코드는 다음과 같습니다.



이 내용을 이해하고 나면 입력 상자에서 Enter를 누르는 동작을 가로채고 js를 통해 __doPostBack 함수를 호출하여 입력 상자를 확인하는 것입니다.

코드 복사 코드는 다음과 같습니다.

< ;input type="submit" name="Button1" value="Button" id="Button1" />

js 스크립트

코드 복사 코드는 다음과 같습니다.
function KeyDown(btn) {
if (event.keyCode != 13) //키는 Enter 키가 아닙니다. return; else //키는 Enter 키입니다. try {
__doPostBack(btn, ''); return false; ) {
경고(e);
반환 }
}


입력 상자와 버튼 컨트롤을 웹 컨트롤에 포함하려면 다음 사항에 특별한 주의를 기울여야 합니다.
컨트롤의 버튼 컨트롤에 의해 생성된 html 코드:
코드 복사 코드는 다음과 같습니다.


__doPostBack은 웹 컨트롤의 버튼에 대한 이름 속성을 사용하며 생성된 HTML 코드에 컨트롤의 ID가 추가됩니다. , 그러니 잘못된 버튼 이름을 쓰지 마세요.
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!