jQuery IE9: невозможно получить значение свойства 'val': объект нулевой или неопределенный - PullRequest
1 голос
/ 09 января 2012

Я получаю эту ошибку в IE9, указывая на строку return self.subQuantity.val(); во фрагменте ниже. Что может вызвать это?

Я должен добавить, что это прекрасно работает в FF.

Частичная функция:

$(document).ready(function() {
    plan = (function() {
        var plan = {
            subQuantity: $('.downgrade .count'),
...

init: function(productCatalog) {
                this.prod = productCatalog;
                this.reset();
                self = this;

                this.fetchButton.bind('click', function(e) {
                    self.fetchScenarii();
                    return false;
                }).filter(function() {
                    return self.subQuantity.val();
                })
            }

HTML

<div class="downgrade">
...
<input type="count" name="count" />
...
</div>

Ответы [ 3 ]

1 голос
/ 22 апреля 2013
           self = this;

Это ошибка.Вы пишете в глобальную self переменную (ссылка на window), которая недоступна для записи в IE.Добавьте объявление var

            var self = this;

, и оно будет работать.

0 голосов
/ 22 апреля 2013

это возвращается как неопределенное значение, поэтому все, что вы пытаетесь сделать так, чтобы оно было равно val или length, сохраняло то же самое диалоговое окно с ошибкой, с которым я сталкивался. Та же проблема. Для решения этой проблемы вам нужно проверить, является ли значение неопределенным или нет ранее.Вы вызываете любой метод здесь, как я это исправил

         if (typeof $("#<%=hdnSupplierDialog.ClientID%>").val() === "undefined")
                return;

Я просто запрещаю вызывать код в случае, если значение не определено, я хочу, чтобы он работал для вас :)

0 голосов
/ 09 января 2012

Изменить

return self.subQuantity.val();

на

return self.subQuantity.attr("value");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...