【问题标题】:Change css class when validation fails验证失败时更改 css 类
【发布时间】: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。

标签: javascript-events


【解决方案1】:

controltovalidate 应替换为您要验证的控件的 ID。

所以这条线应该是这样的:

$("#" + Page_Validators[i].txtId)

【讨论】:

  • 你是对的;问题是页面没有找到 jquery 参考,谢谢。
猜你喜欢
  • 2010-11-21
  • 1970-01-01
  • 2013-01-05
  • 2015-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-21
  • 1970-01-01
相关资源
最近更新 更多