这样写后,调试没反应,连输出都不能, 
function checkPassword(){
     var str = document.getElementById("TextBox1").value;
     document.write(str);
//     if(str.length==0)
//     {
//     alsert("为空");
//     return false;
//     }
//     return ture;
     }
    </script>
我改成这样,还是没反应,把绑定写到pageload下
Button1.Attributes.Add("onclick", string.Format("javascript: checkPassword('{0}');",TextBox1.Text));
我也改成是传参数的函数我想要实现的主要功能是,有2个.net控件,一个textbox,和一个button,现在是textbox里输值,然后通过点button,把输入的值传到jS中进行判断;
符合返回ture,否则false,如果是true的话,才执行button onclick事件下的代码,这样行吗?

解决方案 »

  1.   

    var objT1=document.getElementById('<%=控件ID.ClientID %>');
      

  2.   

    www.cnblogs.com/RIVERSPIRIT/articles/1334221.html
      

  3.   


    function checkPassword(){ 
        var str = document.getElementById(<%=TextBox1.ClientID %>).value; 
       if(str.length==0) 
     { 
       alsert("为空"); 
        return false; 
       } 
       return ture; 
        } 
        </script>你这叫表单验证不推荐这么写。等我给你写一个
      

  4.   


    function checkPassword()
    {

    if  (document.form.TextBox1.value=="")
    {

    alert("密码不能为空!");
    document.form.TextBox1.focus();
    return false ;
    }

    return true;
    }
      

  5.   


    Button1.OnClientClick = String.Format("if(!document.getElementById('{0}>').value.length > 0) return false;", TextBox1.ClientID) ;
      

  6.   

    StringBuilder sb = new StringBuilder(); 
    sb.Append("<script language='javascript'>"); 
    sb.Append("var val=window.confirm('Are you sure!');"); 
    sb.Append("window.document.getElementById('TextBox1').value=val;"); 
    sb.Append("__doPostBack('TextBox1','');"); 
    sb.Append("</script>"); 
    this.RegisterStartupScript(System.Guid.NewGuid().ToString(), sb.ToString()); 
    2.前台代码: 
    <asp:TextBox ID="TextBox1" runat="server" AutoPostBack="true" OnTextChanged="TextBox1_TextChanged"></asp:TextBox> 
    3.文本框OnTextChanged="TextBox1_TextChanged"的后台事件代码 
    protected void TextBox1_TextChanged(object sender, EventArgs e) 

    if (((TextBox)(sender)).Text != "") 

    if (((TextBox)(sender)).Text.ToUpper() == "TRUE") 

    //确定后执行另一个事件/方法 

    if (((TextBox)(sender)).Text.ToUpper() == "FALSE") 

    //取消后执行另一个事件/方法 } } 

      

  7.   

    参考
    http://www.cnblogs.com/zhangpengshou/archive/2007/11/13/957411.html
      

  8.   

    可以用代码不分离的asp语法<%=控件ID.ClientID %>
    也可以考虑js和C#互操作。
    http://blog.csdn.net/greatverve/archive/2008/12/01/3418348.aspx
      

  9.   

    Button1.Attributes.Add("onclick", "return checkPassword();"); //一定要加return function checkPassword()
    {
       var obj=document.getElementById('<%=TextBox1.ClientID %>'); 
       if(obj.value=="")
       {
          alert("值不能为空,请填写");
          return false;
       }
       return true;
    }
      

  10.   

    奇怪,明明看到回复数12,但是一个回复都看不到?csdn又偏瘫了?
      

  11.   

    //在很多 文本框验证的情况下,建议直接失去焦点验证
    //验证文本框输入是否为空

    function JHshIsNull(txtName,sLabel) 
    //txtName 文本框ID,
    //sLabel 文本框前面的名称 如:姓名.
    {
    var strTemp = "";
    if ((txtName.value =="") )
    {
      strTemp = "“" + sLabel + "”不能为空。";
      window.alert(strTemp) ;
      txtName.focus() ;
      return false ;

    else      

      return true ; 
    }
    //调用的时候
    引用这个JS页面
     onblur="JHshIsNumber(this,'名字')"
    }//--------------------------一个文本框验证
    function JHshIsNull()
    {
    var strTemp = document.getElementById("文本框ID").value ;
    if (strTemp.value =="")
      {
      window.alert("不能为空!") ;
      txtName.focus() ;
      return false ;

    else      

    return true ; 
    }
    }
      

  12.   

    正解,Web控件都需要加控件.ClientID ,是Html控件才能用楼主的方法