服务器控件妙用OnClientClick事件阻止回传

     很多时候,我们需要对服务器控件的输入内容进行验证,如果在后台.cs页面进行验证,则会刷新页面,在用户体验和效率方面都不划算,其实完全可能在客户端使用javascript进行验证,只要编写客户端事件OnClientClick便可以了。OnClientClick会在OnClick事件之前触发。如果OnclientClick事件函数返回false,那么控件不再回传,即OnClick事件也不会再执行。见下例:

    <script type="text/javascript">

         function check() {

              var input = document.getElementById("text1").value;

              if(input == null || input == "")

              {

                     alert("文本框不能为空!");

                     return false;

              }

              return true;

         }

    </script>

  

    <div>

      <asp:TextBox ID="text1" runat="server"></asp:TextBox>

      <asp:Button ID="summitBtn" runat="server" Text="提交" OnClick="summitBtn_Click" OnClientClick="return check();" />

   </div>

    因为check()函数有返回值,所以前面的return关键字不能漏掉。如果检验通过,即返回true,则summitBtn_Click会继续执行,可以在summitBtn_Click中对表单的数据进入数据库操作。

posted @ 2010-07-19 23:36  涂墨留香  阅读(4207)  评论(0编辑  收藏  举报