JQuery - проверка Iframe - не может получить значения - PullRequest
1 голос
/ 21 мая 2010

См. Демо здесь.

Редактор находится в стадии разработки. Теперь мы проверим, есть ли значение - это хорошо работает со всеми полями формы, которые имеют класс .required ... но он не работает с iframe.

iframe имеет div с содержимым id #.

$('form .meet').focus(function() {
    $('iframe').each(function() {
    ** if($(this).contents().find('#content').val() == '') { **
        $(this).addClass('warning');
    }
    })
});

Это означает, что он должен добавить класс .warning, если iframe пуст. Но это всегда так, так что я делаю не так?

Не работает, потому что JS не видит текст, который я набрал в данный момент? ^^

С уважением Генри

1 Ответ

1 голос
/ 21 мая 2010

Вы, по сути, не делаете ничего плохого, но #content - это тег <body> вашего iframe, и я не уверен, что происходит, когда вы вызываете .val() для элемента <body>.Попробуйте заменить .val() на .text(), и вы получите желаемый результат.

$('iframe').each(function() {
    if($(this).contents().find('#content').text() == '') {
        $(this).addClass('warning');
    }
});

Я проверил, что это работает, используя Firebug, но дайте мне знать, если это работает на реальной странице.

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