【发布时间】:2011-01-10 09:14:18
【问题描述】:
我在我的 aspx 页面上遇到了验证问题;我有以下代码:
<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)
所以,当我调试代码时(在 Internet Explorer 7 上),属性 controltovalidate 不存在。
我希望你能帮我解决这个问题,我不知道如何获得该属性或我缺少什么。
提前致谢。
哦,我忘了,这是我按钮的代码:
<asp:Button ID="btnSend" runat="server" Text="Send"
OnClientClick="return ValidateData();"
onclick="btnSend_Click" />
【问题讨论】:
-
你的 HEAD 标签中有 jQuery 引用吗?
$().css()语法是 jQuery。