比如,有一个ASP.NET的TextBox,有一个ASP.NET的Button,这个Button的click事件是C#端的代码,操作TextBox做一些事。现在想给这个Button加一段JS代码,click的时候在客户端让它判断TextBox是否为空,如果空,则不执行这个Button在服务器端的代码

解决方案 »

  1.   

    是这样
    button在生成html后是 input type=button
    可以回发窗体的
    其他的linkbutton之类是通过.net生成的js函数__doPostBack来进行回发。你的如果是button按钮,可以直接 在后台设置
    Button1.Attributes.Add("onclick", "javascript:if(confirm('确实要提交么?')==false) return false;");上面是弹出确认框后 ,可以选择取消提交的代码,你根据需要设置成判断textbox的值就行了
    注意里面是javascript
      

  2.   

      onblur="auto()"function auto()
    {
     var val= document.getElementById("textbox").value;
     if(val==null)
     {
       alert("内容不能为空");
     
     }
      

  3.   

    我关键不是想判断TextBox是不是为空的代码,我是想知道如何取消ASP.NET控件消息事件的代码
      

  4.   

    另外一个更简单的办法就是对 TextBox设置一个 RequiredFieldValidator
    这样在客户端进行非空校验,没通过是不能触发回发的
      

  5.   

    呵呵,楼主东西不错。我也是从事这个行业,
    刚刚开始学做的视频希望和大家一起分享,请大家给点意见,以后常来往
    http://topic.csdn.net/u/20111109/13/a64f039a-44ba-4da3-a604-d30c69825564.html?63583
      

  6.   


    取消就是 对button的cilck事件返回false就行了
    参考我3楼给出的代码
      

  7.   

    本人亲测代码
    $(function() {
                $("#Button6").click(function() {
                    if ($("#TextBox1").val() == "") {
                        return false;
                    }
                });
            });
      

  8.   

    OnClientClick="return myCheck()" 
    functioin myCheck(){
    .....return  true;
    }
      

  9.   

    当返回false的时候就不会postback