Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу отпарсить данные из фрейма, Кидает notnamber 
:(
    Опции темы
GIK
Дата 11.11.2006, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

Репутация: 6
Всего: 14



Собственно вопрос. Выдает NaN, почему?

Код

<html>
<head>
<title>сортировка строк в таблице</title>
<script type="text/javascript">

function getDate(){
var fr1=top.document.getElementsByName('fff')[0];
var vvv=parseInt(fr1.document.fff.value);
alert(vvv);
}
</script>
<body>

<iframe src="file1.htm" name="fff" width=120 height=120>
</iframe>

<iframe src="file2.htm" name="fff" width=120 height=120>
</iframe>

<input type=button onclick="getDate()" value="Достать">

</body>
</html>


file1
Код

<html>
<head>
<title>сортировка строк в таблице</title>
<script type="text/javascript">
</script>
<body>

<input type="text" value="123" name="fff">

</body>
</html>



--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
Zeroglif
Дата 11.11.2006, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 644
Регистрация: 22.9.2005

Репутация: 28
Всего: 66



Цитата(GIK @  11.11.2006,  15:22 Найти цитируемый пост)
Собственно вопрос. Выдает NaN, почему?

Потому что fr1.document может быть чем угодно (зависит от браузера), от документа ТОП-а, до несуществующего свойства. Обращайся к фрейму и элементу в нём по-другому, например:

Код

frames[0].document.getElementsByName('fff')[0].value


PM MAIL WWW   Вверх
GIK
Дата 11.11.2006, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

Репутация: 6
Всего: 14



Все получилось, вот так:
Код

function getDate(){
var fr1=top.document.getElementsByName('fff')[0];
var vvv=parseInt(fr1.document.frames[0].fff.value); //Видимо после объекта document, есть еще один объект - frame?
alert(vvv);
}


Это сообщение отредактировал(а) GIK - 11.11.2006, 17:27


--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
Zeroglif
Дата 11.11.2006, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 644
Регистрация: 22.9.2005

Репутация: 28
Всего: 66



Цитата(GIK @  11.11.2006,  17:19 Найти цитируемый пост)
Все получилось, вот так

Работает в IE, потому что у document есть коллекция frames, и у фрейма с нулевым индексом есть свойство (имя элемента), где хранится ссылка на сам элемент. Теперь попробуй сделать это решение кроссбраузерным. smile 

Доступ к фрейму можно осуществлять разными путями с разной степенью поддержки браузерами и разной степенью соответствия W3C DOM. 

Не стандартно, но привычно и вполне надёжно:
Код

frames['framename'].document
frames[frameindex].document


Стандартно, но не для всех:
Код

document.getElementById('frameid').contentDocument


Для IE:
Код

document.getElementById('frameid').contentWindow.document


Не стоит полагаться и на быстрый доступ к iframe по имени/ид (framename.documentframeid.document...), везде по-разному... Опера наиболее всеядна (подстраивается под всё сразу).

PM MAIL WWW   Вверх
Aliance
Дата 11.11.2006, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Блин, ну нельзя же так игнорить прикрепленные топики!!!

Код

function getFrameDocument (fram) {
   return (fram.contentDocument) ? fram.contentDocument : ((fram.contentWindow) ? fram.contentWindow.document : null);
}

PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0618 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.