OnclientClick은 일반적으로 JavaScript를 사용하고 클라이언트에서 실행하는 데 사용되는 클라이언트 스크립트입니다.
OnClick은 서버 측 이벤트 처리 기능으로 C# 또는 vb.net을 사용하여 서버 측에서 실행됩니다. 버튼을 클릭 한 후 PostBack을 실행 한 다음 실행하십시오.
OnclientClick을 먼저 호출 한 다음 OnClick 이벤트를 호출하지 않으려면 onclientClick 이벤트에서 False를 반환해야합니다. false를 반환하지 않으면 onclientClick을 실행 한 후에는 계속해서 onclick 이벤트를 호출합니다!
구현 방법은 다음과 같습니다.
<asp : button id = "btn_save"runat = "server"text = "save"cssclass = "button_bak"onclientClick = "Ret onclick = "btn_save_click"/> // javaScript 구현은 다음과 같습니다. <script language = "javaScript"type = "text/javaScript"> function NITEMPTY () {// ALERT ( "KPI 정보는 모두 비어있을 수 없습니다!"); emplfag = false; var kpiname = document.getElementById ( "<%= txt_kpiname.clientid%>"). 값; value; var jobgoal = document.getElementById ( "<%= txt_jobgoal.clientid%>") document.getElementById ( "<%= txt_standard.clientid%>"). 값; value; if (kpiname == ""&& jobGoal == ""&& weight = "&& standard =" ") {emptflag = true;} if (emplfag) {alert ("kpi 정보는 모두 비어있을 수 없다! ");onclientClick = "ret javaScript에서 거짓을 반환하더라도 onclick은 여전히 실행됩니다!
다음은 OnclientClick과 OnClick의 차이점에 대한 설명입니다.
실제로, 때로는 클라이언트와 서버간에 이중 검증이 필요합니다. 왜 그렇게 말합니까? Biguo는 고객에게 JS 확인을 통과 할 때 문자와 숫자 만 입력 할 수 있으며 특별한 캐릭터를 가질 수 없다고 말했습니다. 일반적으로 문제는 없지만 사람들이 "파괴"를하기 위해 모든 수단을 시도한다는 것은 항상 부끄러운 일이 있으며, 현재 이중 검증이 필요합니다! 무뚝뚝하게 말하면 서버와 클라이언트가 모두 확인되었음을 의미합니다!
예를 들면 : 버튼이 있습니다 : onclick 이벤트 및 onclientClick 속성 속성, 전자는 일반적으로 서버의 클릭 이벤트입니다! 후자는 클라이언트의 클릭 이벤트입니다!
시험해 보자! 다음 코드를 default.aspx 페이지에 추가하십시오!
<script language = "javaScript"type = "text/javaScript"> function buttonClick () {alert ( "i am the clipt event"); return false; } </스크립트>페이지 코드 :
<form id = "form1"runat = "server"> <div> asp : button id = "button1"runat = "server"text = "일부 버튼은 서버 컨트롤이며, onclientClick 이벤트는 기본적으로 사용됩니다."buttonclick "onclientClick ="return buttonclick () "onclick ="button1_click "을 비활성화하십시오. /> <asp : label id = "label1"runat = "server"text = ""> </asp : label> </div> </form>
CS 파일 코드 :
보호 된 void button1_click (Object Sender, Eventargs e) {this.label1.text = "나는 서버 클릭 이벤트";}모두가 그것을 실행하고 그 효과가 무엇인지 봅니까? JS의 코드 만 나타나는 것을 알 수 있습니다! 맞습니다. 이것이 바로 우리가 원하는 효과입니다. 서버의 확인을 "블록"하려면 Return False를 사용하십시오! 이점은 무엇입니까? 페이지를 새로 고칠 필요가 없습니다!