Ошибка выполнения Microsoft JScript: «(имя функции)» не определено - PullRequest
2 голосов
/ 01 мая 2010

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

После добавления того, что я считал несвязанным кодом javascript на веб-странице, я неожиданно получаю ошибки, из-за которых браузер не может найти функцию javascript, которая для меня выглядит простой как день в режиме разработки.

Я думаю, что это какая-то проблема порядка последовательности загрузки. Первоначально мой сценарий был внизу страницы. Я сделал это с целью помочь SEO моего рейтинга.

Когда я переместил функцию в верхнюю часть веб-страницы, ошибка исчезла. Теперь он вернулся.

У меня такое чувство, что кто-то собирается предложить решение jQuery для выполнения некоторого кода только после полной загрузки страницы. Я не знаю JQuery. Если в ответе дается jQuery, объясните, что мне нужно сделать (ссылки, размещение файлов сценариев) для VS 2010 RTM.

Я пытаюсь установить фокус на первое текстовое поле на веб-странице и предварительно выбрать весь текст в текстовом поле

Дополнительная информация:

Если я отключу этот валидатор, проблема исчезнет:

<asp:CustomValidator ID="valSpecifyOccupation" runat="server" ErrorMessage="Required"
                                            ClientValidationFunction="txtSpecifyOccupation_ClientValidate" 
                                            Display="Dynamic" Enabled="False"></asp:CustomValidator>



function txtSpecifyOccupation_ClientValidate(source, args) {

    var optOccupationRetired = document.getElementById("<%=optOccupationRetired.ClientID %>");

    if (optOccupationRetired.checked) {
        args.IsValid = true;
    }
    else {
        var txtSpecifyOccupation = document.getElementById("<%=txtSpecifyOccupation.ClientID %>");
        args.IsValid = ValidatorTrim(txtSpecifyOccupation.value) != "";
    }

}

1 Ответ

1 голос
/ 01 октября 2010

Да, я бы сказал, что, скорее всего, это проблема порядка загрузки. И ... я бы полностью порекомендовал jquery ...

Где бы вы ни вызывали свою функцию JavaScript txtSpecifyOccupation_ClientValidate ; Я хотел бы предположить, что вы можете динамически записывать блок скрипта на странице при загрузке или что-то ...

если это так. Я бы добавил следующее в ваш сгенерированный блок скриптов ...

 $(function() {
...  call to function
    txtSpecifyOccupation_ClientValidate();
...
    });

jquery очень прост в освоении. http://docs.jquery.com/Main_Page

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...