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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как вызвать функцию из другого фрейма? Нужен обмен данными между фреймами 
:(
    Опции темы
Непрофессионал
Дата 29.11.2003, 16:23 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Прошу подсказать (если кто знает) - ситуация такая - есть страница из 2-х фреймов, в одном из них выписаны функции (JavaScript) А управление этими функциями нужно осуществлять из другого фрейма. Однако нигде не нашёл, как вызвать именно функцию. Если в форме во втором фрейме написано что-то вроде
onClick = "function_of_first_frame();" (там разные имена функций)
или
onClick = "parent.first_frame.function_of_first_frame();"

MSIE выдаёт ошибку "нулль или не является обьектом"


  Вверх
Dr.Death
Дата 29.11.2003, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 950
Регистрация: 15.7.2003
Где: Волгоград

Репутация: нет
Всего: 1



Попробуй
Цитата

onClick = "javascript:parent.first_frame.function_of_first_frame();"



--------------------
Жизнь коротка, чтобы быть в ней слабым.© Арнольд Шварцнеггер
PM MAIL WWW ICQ   Вверх
MuToGeN
Дата 30.11.2003, 05:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: нет
Всего: 32



> onClick = "javascript:parent.first_frame.function_of_first_frame();"

Не, это точно не то. javascript: - это что-то типа указания протокола в ссылках, так же как http:, ftp: или mailto:



--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Непрофессионал
Дата 30.11.2003, 11:15 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Проверил,
вот так: onClick =
Код
"javascript:parent.first_frame.function_of_first_frame();


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

Код

onClick = "javascript:parent.first_frame.function_of_first_frame(value_of_first_frame);


невозможно,
в то время как задать функцию

function function_of_first_frame("Х"){alert(value_of_first_frame+"Х")};

возможно, и переменную она (вызванная из др. фреймов) видеть будет

  Вверх
Alx
Дата 7.12.2003, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Интересно, а я вот мо молодости весной хотел создать такую программку:

В первом маленьком фрейме поля:

URL
Цвет бэкграунда
Цвет текста
и т.д.

Добрый юзверь выберает, что хочет и таким образом бродит по рунету и меняет странички. Зашёл на яндекс, сделал розовый фон. Разве не щщщастье? Так было бы что-то вроде

Код
window.frames("mainframe").document.bgColor=bgcolorsel.value


Что-то вроде этого, я уже не помню. Можеть здесь и есть ошибки, но когда я пытался это сделать, ничего не фурычило, я много менял вариантов!

Вот интересно, можно ли такое сделать?


--------------------
PM MAIL WWW ICQ   Вверх
Secandr
Дата 7.12.2003, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: нет
Всего: 39



У меня так и не получилось вызвать функцию, но без проблем можно менять свойства какого либо объекта: parent.first_frame.form1.text1.value='bla.bla.alb.alb';

Так что можно просто повесить onCange на form1.text1 и вызывать функцию smile.gif

P.S. Чистой воды извращение smile.gif


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Alx
Дата 7.12.2003, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Эт уж точно...)


--------------------
PM MAIL WWW ICQ   Вверх
Непрофессионал
Дата 7.12.2003, 16:54 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











У меня так и не получилось вызвать функцию
Возможно, зависит от браузера (??)

P.S. Чистой воды извращение

Это почему собственно?
  Вверх
Alx
Дата 7.12.2003, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Ну потому что извращение!)
Чтобы вызваь функцию, надо изменить свойство ни в чем неповинного объекта, а потом написать, чтобы при при изменении свойства ентого объекта вызывалась функция! разве не извращение?))


--------------------
PM MAIL WWW ICQ   Вверх
Непрофессионал
Дата 8.12.2003, 01:39 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
Ну потому что извращение!)
Чтобы вызваь функцию, надо изменить свойство ни в чем неповинного объекта, а потом написать, чтобы при при изменении свойства ентого объекта вызывалась функция! разве не извращение?))


Если очень надо, то чем плохо, однако у меня так не получилось, MSIE реагирует только на такие onChange, которые пользователь производит мышью, или набирает с клавиатуры! (может, что-то не так сделал)
  Вверх
Alx
Дата 11.12.2003, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Я не знаю, что Вы сделали), но по-моему всё должно нормально работать... попробуйте с фокусом для type=text, действие onfocus... т.е.

parent.first_frame.form1.text1.focus()';

<input type="text" value="*" onfocus="func();" style="visibility:hidden;">

Кстати, я воть не очень хорошо помню на счёт взаимодействия фреймов, но разве перед parent не должно быть window или document...?

Это сообщение отредактировал(а) ALEXANDRO - 11.12.2003, 18:42


--------------------
PM MAIL WWW ICQ   Вверх
Secandr
Дата 11.12.2003, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: нет
Всего: 39



нет перед parent ничего не ставиться.


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


 




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


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

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