gridview 验证中的文本框
Posted
技术标签:
【中文标题】gridview 验证中的文本框【英文标题】:Textboxes inside gridview validation 【发布时间】:2015-10-03 04:58:58 【问题描述】:我有一个网格视图,其中有 100 行文本框。所有文本框都有相同的 id 'TxtEmpcode'。用户在 gridview 的某些行中输入数据。如何验证文本框,以便在文本框中仅输入一次员工代码。这是为了避免重复输入数据。假设用户输入员工代码“1234”,这在文本框的其他行中是不允许的。如果他们输入,则应显示一条消息“已输入员工代码”。
谁能告诉我如何做到这一点?
<asp:GridView ID="GridView2" runat="server" style="margin-left: 23px; margin-top: 11px;" Width="420px" CellPadding="4" AutoGenerateColumns="False" ForeColor="#333333" GridLines="None" Height="213px" >
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField HeaderText="Employee Code">
<ItemTemplate>
<asp:TextBox ID="TxtEmpcode" runat="server" OnTextChanged="TxtId_TextChanged" AutoPostBack ="true" ></asp:TextBox>
</ItemTemplate>
【问题讨论】:
你使用的asp.net框架是4.0还是更高? 是的...我使用的是 4.0 或更高版本。 【参考方案1】:您可以根据需要使用它的逻辑。
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
</head>
<script>
function IsValidTest(Control)
name = Control.name;
var list = document.getElementById("TxtEmpcode");
var contents = $("[id=TxtEmpcode]");
var TextboxId = name;
var Txtbox = document.getElementsByName(name);
var TextboxValue = Txtbox[0].value;
for (i = 0; i < contents.length; i++)
var currenttextboxName=contents[i].name;
var currenttextboxValue=contents[i].value;
//Compare currently changed value with existing values in other textboxes
if (name != currenttextboxName && currenttextboxValue == TextboxValue)
alert('Employee Code has already been entered');
Txtbox[0].value = '';
return false;
return true;
</script>
<div>
<asp:GridView ID="GridView2" runat="server" Style="margin-left: 23px; margin-top: 11px;"
Width="420px" CellPadding="4" AutoGenerateColumns="False" ForeColor="#333333"
GridLines="None" Height="213px">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField HeaderText="Employee Code">
<ItemTemplate>
<asp:TextBox ID="TxtEmpcode" runat="server" AutoPostBack="true" ClientIDMode="Static" onchange="javascript: return IsValidTest(this);"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</asp:Content>
【讨论】:
我又遇到了一个问题。我已经为文本框编写了 Ontextchanged 函数。编写此 javascript 函数后不会触发。在文本框中输入员工代码时,其他员工相关信息将填充在其他只读文本框中。 在我的代码中 Ontextchanged 不存在..所以检查你的代码是否没有..如果是,请记住 Ontextchanged 只会被调用有效的非重复值......而且一切都很好检查是否有任何java脚本错误(使用开发者工具F12键) 同样在堆栈溢出站点中,通过支持或接受答案来感谢他人的努力总是很不错的。如果您认为这对您有帮助或将来会帮助其他人(总是接受最有效的答案)。 . :) 嗨,Sagar,甚至在你告诉我之前,我就赞成你的回答。但我是***的新手。它要求我获得至少 15 个声望才能投票。 @Vinay - 您可以接受答案。没有信誉标准,只需单击对勾,检查此链接 - meta.stackexchange.com/questions/5234/…以上是关于gridview 验证中的文本框的主要内容,如果未能解决你的问题,请参考以下文章
在 asp.net 中处理 Gridview 控件中的文本框?
使用javascript查找放置在gridview中的复选框和文本框
jquery自动完成asp.net Gridview中的多个文本框
c# .net winform 在文本框里输入数据(用于查找的参数) 然后回车将gridview中的那条数据处于选中状态