Объект Ожидаемая ошибка в IE7 - проблема с областью функций?

65
7

У меня есть то, что я надеюсь, это простая проблема.


В принципе, у меня есть один блок javascript, содержащий эту функцию, а затем я пытаюсь вызвать его из другого блока javascript (в функции jQuery $(document).ready). Несмотря на то, что он отлично работает в Firefox, в IE7 появляется ошибка "Object Expected". Вероятно, это связано с областью видимости, но я не уверен, что исправить. Firebug, похоже, не освещает этот вопрос.


Итак, вот моя функция:


    <script type="text/javascript">
//<![CDATA[
function onsite_validate(){
$("#tsp_onsite_form").validate({
errorClass: "form_error",
errorElement: "em",
errorPlacement: function(error, element) {
error.prependTo( element.parent("label") );
},
highlight: function(element, errorClass) {
$(element).addClass(errorClass);
},
unhighlight: function(element, errorClass) {
$(element).removeClass(errorClass);
},
rules: {
fault_found: "required"
},
messages: {
fault_found: "was a fault found?"
},
submitHandler: function(form) {
$.blockUI();
form.submit();

} //ends submit handler

});
}
//]]>
</script>


и после этого у меня есть следующее:


<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
onsite_validate();
});
//]]>
</script>

Ошибка "Object Expected" вызывается при вызове onsite_validate();


Я уверен, что делаю фундаментальную ошибку - просто не могу ее заметить!


Большое спасибо

спросил(а) 2021-01-19T19:46:42+03:00 9 месяцев, 1 неделя назад
1
Решение
65

Какой тип объекта error в errorPlacement? Не совсем уверен, прошел ли он как экземпляр jQuery, но если нет, вам может понадобиться обойти это.

Изменить: просто понял, что вы сказали, что он работает в не-IE. Я помню эту ошибку только в IE7 и вынужден исправлять источник jQuery для ее обработки. Какую версию jQuery вы используете, и принимаете ли вы ее самостоятельно или используете что-то вроде GoogleAPI? Кроме того, вы можете указать точную ошибку (файл, строку и т.д.)?

ответил(а) 2021-01-19T19:46:42+03:00 9 месяцев, 1 неделя назад
46

У меня была эта ошибка при попытке загрузить один и тот же файл javascript дважды (во вложенных шаблонах). Это было трудно определить, потому что проблема возникла в другом месте потока.


Я хочу сказать, что ошибка не обязательно с этой функцией или даже с этим блоком кода.

ответил(а) 2021-01-19T19:46:42+03:00 9 месяцев, 1 неделя назад
46

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


Как раз для отладки, вы можете попробовать проверить каждый из объектов против нуля и бросить предупреждение по мере необходимости, чтобы выяснить, какой объект не получает.

Например, проверьте эти объекты:

element.parent

ошибка

$ (элемент)

ответил(а) 2021-01-19T19:46:42+03:00 9 месяцев, 1 неделя назад
46

В IIS


Click on your website[LHS]=>Authentication[**Features View on RHS**]=>Enable only Anonymous authentication other should be disabled and click on edit, set Specific user to **IUSR** instead of [IUSR_Servernname] and No password is required

ответил(а) 2021-01-19T19:46:42+03:00 9 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема