Изменить класс CSS при сбое проверки - PullRequest
0 голосов
/ 28 января 2010

У меня проблема с проверками на моей странице 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>

Этот код я извлек из этого поста: Изменение класса CSS текстового поля при сбое проверки ASP.NET

Проблема в том, что я получаю сообщение об ошибке:

Object Expected

в следующей строке:

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

Итак, свойство controltovalidate отсутствует при отладке кода (в Internet Explorer 7).

Надеюсь, вы поможете мне решить эту проблему, я не знаю, как получить это имущество или что мне не хватает.

Заранее спасибо.

О, я забыл, это код моей кнопки:

<asp:Button ID="btnSend" runat="server" Text="Send" 
                            OnClientClick="return ValidateData();"
                            onclick="btnSend_Click" />

1 Ответ

0 голосов
/ 28 января 2010

controltovalidate следует заменить на идентификатор элемента управления, который вы хотите проверить.

Таким образом, строка должна выглядеть примерно так:

$("#" + Page_Validators[i].txtId)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...