做一个信息管理系统,需要处理的表格超多,不想每个输入框都拿那个用户输入验证控件去实现。以前看到过这种类型,它是只允许数字输入:((TextBox)this.Controls[1].Controls[i]).Attributes.Add("onkeypress","javascript:if((!/^[+-]?\\d+(\\.?\\d+)?$/g).test(this.value))event.returnValue = false;");
  但是我没能实现啊,请大家指点一二,谢谢!!!!

解决方案 »

  1.   

    有兴趣试试我的.net代码快速生成器,可以生成常用的增删改查等代码和js和cs的双验证
    且验证不用验证控件,不影响排版。
    下载地址:
    http://aspnet789.66et.net/Net_Fastcode.rar在使用.net代码快速生成器过程中有什么问题可发信至[email protected],我会尽力解决。
      

  2.   

    不会吧?这样的方式会比验证控件简单???再说,onKeyPress事件是每按一件键都会触发,你这样做的话不是每个TextBox都要添加这样的属性?
      

  3.   

    function check(id)
    {
       var reg=/^[0-9]*$/;
       if(!reg.exec(document.getElementById(id).value))
         return false;
       else
         return true;
    }cs里:
    ((TextBox)this.Controls[1].Controls[i]).Attributes.Add("onkeypress","javascript:return check('+((TextBox)this.Controls[1].Controls[i]).ClientID+')")
      

  4.   

    function check(id)
    {
       var reg=/^[0-9]*$/;
       if(!reg.exec(document.getElementById(id).value))
         return false;
       else
         return true;
    }
    怎么执行时觉得总是return true;是不是在使用定义的正则表达式的时候有问题啊???
    在线等待高手解答了……
    如果把函数改成这样:
        function check(id)
        {
         if(event.keyCode>=48 && event.keyCode<=57)
         return true;
         else
         return false;
        }
    他不能屏蔽通过输入法输入的非法字符。
      

  5.   

    <TABLE id="Table2" cellSpacing="1" cellPadding="1" width="300" border="1" runat=server>
    <TR>
    <TD></TD>
    <TD>
    <asp:TextBox id="TextBox3" runat="server"></asp:TextBox></TD>
    <TD></TD>
    </TR>
    <TR>
    <TD>
    <asp:TextBox id="TextBox5" runat="server"></asp:TextBox></TD>
    <TD>
    <asp:TextBox id="TextBox4" runat="server"></asp:TextBox></TD>
    <TD></TD>
    </TR>
    <TR>
    <TD>
    <asp:TextBox id="TextBox6" runat="server"></asp:TextBox></TD>
    <TD></TD>
    <TD></TD>
    </TR>
    </TABLE>
    CS:
    private void Page_Load(object sender, System.EventArgs e)
    {
    for(int i=0;i<Table2.Controls.Count;i++)
    {
    if(Table2.Controls[i].GetType().ToString() == "System.Web.UI.WebControls.TextBox")
    {
    ((TextBox)(Table2.Controls[i])).Attributes.Add("onkeypress","javascript:if((!/^[+-]?\\d+(\\.?\\d+)?$/g).test(this.value))event.returnValue = false;");
    }
    }
    }