javascript window.event подходит к нулю? - PullRequest
0 голосов
/ 25 октября 2010

Я использую CustomValidator в ASP.NET следующим образом:

<asp:CustomValidator ID="cvComment" ControlToValidate="txtComment" Display="None"
        EnableClientScript="true" ClientValidationFunction="validateComment"
    runat="server" ></asp:CustomValidator>

И эта функция вызывается:

function validateComment(source, args) {
            var reComment = new RegExp("^[a-zA-Z0-9',!;?@#%*.\s]{1,1000}$");
            var validComment = reComment.test(window.event.srcElement.value);
            if (!validComment)
                alert("The comment has illegal characters");
            args.IsValid = validComment;
        }

После нажатия кнопки, которая запускает валидатор, приложение разрывается, и я вижу, что свойство window.event имеет значение null, поэтому очевидно, что существует нулевая ссылка, пытающаяся соответствовать regEx. Мой вопрос: почему window.event может отображаться как null? Я мог поклясться, что это работало раньше.

EDIT:

Я изменил функцию следующим образом:

   var check = document.getElementById(source.id);
   var checky = check.attributes["controltovalidate"].value;
   var checkyo = document.getElementById(checky);
   var validHour = reOutHour.test(checkyo.value);
   if (!validHour)
        alert("The time is incorrectly formatted");
   args.IsValid = validHour;

Теперь это работает в Internet Explorer, но не в Firefox ...

1 Ответ

2 голосов
/ 25 октября 2010

Вот как мне удалось решить мою проблему:

var check = document.getElementById(source.id);
   var checky = check.controltovalidate;
   var checkyo = document.getElementById(checky);
   var validHour = reOutHour.test(checkyo.value);
   if (!validHour)
        alert("The time is incorrectly formatted");
   args.IsValid = validHour;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...