验证失败时更改css类
问题描述:
我在验证aspx页面时遇到问题;我有以下代码:验证失败时更改css类
<td>
Id
</td>
<td>
<asp:TextBox ID="txtId" runat="server"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="reqId" runat="server" ErrorMessage="Error" ControlToValidate="txtId" SetFocusOnError="true"></asp:RequiredFieldValidator>
</td>
而且下面的JavaScript代码:
<script type="text/javascript">
function ValidateData() {
var v1 = "#<%= txtId.ClientID %>";
var val = Page_ClientValidate();
if (!val) {
var i = 0;
for (; i < Page_Validators.length; i++) {
if (!Page_Validators[i].isvalid) {
$("#" + Page_Validators[i].controltovalidate)
.css("background-color", "red");
}
}
}
return val;
}
</script>
这段代码我从这篇文章中提取: Change textbox’s css class when ASP.NET Validation fails
的问题是,我遇到了错误:
Object Expected
关于以下行:
$("#" + Page_Validators[i].controltovalidate)
如此,属性的ControlToValidate不存在时,我调试代码(在Internet Explorer 7)。
我希望你能帮助我解决这个问题,我不知道如何得到那个财产或我错过了什么。
在此先感谢。
哦,我忘了,这是我的按钮的代码:
<asp:Button ID="btnSend" runat="server" Text="Send"
OnClientClick="return ValidateData();"
onclick="btnSend_Click" />
答
controltovalidate
应该要验证控件的ID所代替。
所以行应该是这样的:
$("#" + Page_Validators[i].txtId)
+0
你是对的;问题是该页面没有找到jquery的参考,谢谢。 – lidermin 2010-01-28 12:16:17
你有没有在你的脑袋标签jQuery的参考? '$().css()'语法是jQuery。 – Fermin 2010-01-28 12:02:20