做一个信息管理系统,需要处理的表格超多,不想每个输入框都拿那个用户输入验证控件去实现。以前看到过这种类型,它是只允许数字输入:((TextBox)this.Controls[1].Controls[i]).Attributes.Add("onkeypress","javascript:if((!/^[+-]?\\d+(\\.?\\d+)?$/g).test(this.value))event.returnValue = false;");
但是我没能实现啊,请大家指点一二,谢谢!!!!
但是我没能实现啊,请大家指点一二,谢谢!!!!
且验证不用验证控件,不影响排版。
下载地址:
http://aspnet789.66et.net/Net_Fastcode.rar在使用.net代码快速生成器过程中有什么问题可发信至[email protected],我会尽力解决。
{
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+')")
{
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;
}
他不能屏蔽通过输入法输入的非法字符。
<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;");
}
}
}