所以我有一个带有文本框的ASP.NET转发器控件和一个隐藏了验证文本的div。我试图根据是否在文本框中输入特殊字符来显示此div。我设法在所有文本框中应用jquery正则表达式,但是我试图弄清楚如何将验证错误应用到用户输入输入的文本框行,因为我想要错误div在此特定行上显示消息。我可以让它在第一行工作,但由于转发器在HTML中创建了它自己的控件ID,我想知道如何解决这个问题。这是我的代码:
<div>
<button>button</button>
<button>button</button>
</div>
有什么建议吗?感谢帮助。
答案 0 :(得分:0)
将类添加到您的文本框html中,如此
<asp:textbox ID="txtbox1" class="question" runat="server" Text='<%# Eval("Questions") %>' />
所以你可以替换
$('[id*=txtbox1]').keyup(function() ...
到这个
$(".question").keyup(function() ...
这个#ErrorDiv
将不起作用..因为ID必须是唯一的,并且您的转发器将创建具有相同ID的多个div。因此,将id="ErrorDiv"
更改为class="errorDiv"
。
<强>错强>
$('#ErrorDiv').show();
<强>正确强>
// $('#ErrorDiv').show();
$(this).next(".errorDiv").show();
答案 1 :(得分:0)
您遇到的问题是因为textbox-id是唯一的。因此,只有解决方案是使用getElementsByName
或class
名称选择元素。