如何对gridview模板列中的textbox的输入内容进行限制?
我想限制textbox的输入内容,只能输入2个数字这个textbox是在gridview的模板列中的代码如下<asp:GridViewID="GVPaper"runat=...
我想限制textbox的输入内容,只能输入2个数字
这个textbox是在gridview的模板列中的
代码如下
<asp:GridView ID="GVPaper" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField HeaderText="题目序号" DataField="TiMuNum" />
<asp:BoundField HeaderText="题目" DataField="TiMu" />
<asp:TemplateField HeaderText="答案">
<ItemTemplate>
<asp:TextBox ID="TBAnswer" runat="server" MaxLength="2" Width="37px">
</asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="正确答案" DataField="DaAn" />
<asp:BoundField HeaderText="对错" />
</Columns>
</asp:GridView>
我已经找到答案了,在csdn找到了
后台代码
for (int i = 0; i < GVPaper.Rows.Count; i++)
{
TextBox answer = (TextBox)GVPaper.Rows[i].FindControl("TBAnswer") as TextBox;
answer.Attributes.Add("onkeyup", "numtype(this.name,this.value);");
}
js脚本
function regIsDigit(str)
{
var reg = new RegExp("^[0-9]{1,2}$");
return (reg.test(str));
}
function numtype(cname,value)
{
if(!regIsDigit(value))
{
var obj = document.getElementsByName(cname);
obj[0].value="";
}
}
但还是要谢谢回答问题的两位朋友,谢谢 展开
这个textbox是在gridview的模板列中的
代码如下
<asp:GridView ID="GVPaper" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField HeaderText="题目序号" DataField="TiMuNum" />
<asp:BoundField HeaderText="题目" DataField="TiMu" />
<asp:TemplateField HeaderText="答案">
<ItemTemplate>
<asp:TextBox ID="TBAnswer" runat="server" MaxLength="2" Width="37px">
</asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="正确答案" DataField="DaAn" />
<asp:BoundField HeaderText="对错" />
</Columns>
</asp:GridView>
我已经找到答案了,在csdn找到了
后台代码
for (int i = 0; i < GVPaper.Rows.Count; i++)
{
TextBox answer = (TextBox)GVPaper.Rows[i].FindControl("TBAnswer") as TextBox;
answer.Attributes.Add("onkeyup", "numtype(this.name,this.value);");
}
js脚本
function regIsDigit(str)
{
var reg = new RegExp("^[0-9]{1,2}$");
return (reg.test(str));
}
function numtype(cname,value)
{
if(!regIsDigit(value))
{
var obj = document.getElementsByName(cname);
obj[0].value="";
}
}
但还是要谢谢回答问题的两位朋友,谢谢 展开
2个回答
展开全部
<asp:TextBox onkeypress="isnum()" ID="TBAnswer" runat="server" MaxLength="2" Width="37px">
利用脚本
<script language="javascript">
function isnum() {
if(event.keyCode <48 || event.keyCode> 57) {
event.keyCode=false;
}
}
</script>
这样也不能防止输入法输入汉字
防止汉字输入只能在后台进行判断了
可以设置textbox的MaxLength为2限制输入个数
利用脚本
<script language="javascript">
function isnum() {
if(event.keyCode <48 || event.keyCode> 57) {
event.keyCode=false;
}
}
</script>
这样也不能防止输入法输入汉字
防止汉字输入只能在后台进行判断了
可以设置textbox的MaxLength为2限制输入个数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询