Пользовательская проверка на стороне клиента ASP.NET 2.0 не работает в Internet Explorer - PullRequest
0 голосов
/ 26 марта 2012

У меня есть два текстовых поля, одно для запланированной даты, а другое для запланированного времени. Я хочу пройти проверку, если оба текстовых поля не заполнены или оба имеют содержимое. Я хочу провалить проверку, если только у одного есть контент. Все работает нормально на стороне сервера, а следующий код на стороне клиента работает правильно в Chrome.

    function CheckScheduledDateTime(sender, args) {
        if (ctl00_MainContent_txtScheduledTime.value!="" || ctl00_MainContent_txtScheduledDate.value!="" )
        {
            if (ctl00_MainContent_txtScheduledTime.value!="" && ctl00_MainContent_txtScheduledDate.value=="")
            {
                args.IsValid=false;
                alert("Scheduled date is required");
            }
            else if (ctl00_MainContent_txtScheduledTime.value=="" && ctl00_MainContent_txtScheduledDate.value1!="")
            {
                args.IsValid=false;
                alert("Scheduled time is required");
            }
            else
            {
                args.IsValid=true;
            }

        }
        else 
        {
            args.IsValid = true;
        }         
    }

В Internet Explorer он не работает, и я получаю следующую ошибку:

«Ошибка времени выполнения Microsoft JScript:« ctl00_MainContent_txtScheduledTime »не определено»

Странно то, что если в Visual Studio он сломан, то если я попытаюсь снова войти в него, он снова сломается, но потом, если я попытаюсь войти в него в третий раз, он запустится, и проверка правильности работает .

Кто-нибудь может пролить свет на это?

1 Ответ

1 голос
/ 28 марта 2012

Вы можете использовать это так

ctl00_MainContent_txtScheduledTime не являются переменными JavaScript, пока вы не инициализируете их с помощью

var ctl00_MainContent_txtScheduledTime = document.getElementById('<%=txtScheduledTime.ClientID%>');

или вы можете использовать его как

(document.getElementById('<%=txtScheduledTime.ClientID%>').value!="" || document.getElementById('<%=txtScheduledDate.ClientID%>').value!="" )

Привет.

...