imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 17.09.2004, 09:09     # 1
nemra
Guest
 
Сообщения: n/a

переменные в JS

привет! вот такой вопрос, как решить? имеется HTML страница из двух фреймов, к слову frame_1, frame_2 и страница-контейнер этих фреймов, к слову main. Нужно сделать так, чтобы скрипт на JS из фрейма frame_1 передал параметр в main, а после, ну когда frame_2 загрузиться, чтобы он взял этот параметр из main. сделал так но ничего не работет:

// frame_1
// передал фрейму main число num

var num=777;
window.parent.set_num(num)



// main

var xxx=0;
alert(xxx); // выводит: 0

function set_num(num)
{
alert(xxx); // выводит: 0
xxx=num;
alert(xxx); // выводит: 777, то есть присвоилось то что передал
}

alert(xxx); // опять вывело: 0

function get_num()
{
window.frames['frame_2'].document.form.text.value=num;
}

// frame_2
<body onLoad="window.parent.get_num()"> // получил не 777 а 0.

то есть хочу присвоить элементу формы тот параметр котороый храниться в main, тот что ему передал frame_1. как можно решить эту задачку? думаю понятно что мне нужно...
 
Старый 17.09.2004, 10:48     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Что пишет? Какая ошибка.
RaZEr вне форума  
Старый 17.09.2004, 10:50     # 3
nemra
Guest
 
Сообщения: n/a

ошибка в том, что когда frame_2 получает переменную, то получает число 0 а не 777, хотя мне нужно 777, то число что передал frame_1
 
Старый 17.09.2004, 12:44     # 4
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
JS вообще тяжел с работой в разных документах. Задавай переменные как window.document.var_name=value;
RaZEr вне форума  
Старый 17.09.2004, 13:20     # 5
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Позвольте я прямо по вашему коду прокомментирую ошибки (курсивом):
// main

var xxx=0;
alert(xxx); // выводит: 0
Правильно, оно и есть 0

function set_num(num)
{
alert(xxx); // выводит: 0
Естественно, мы ему м присваивали 0 выше
xxx=num;
alert(xxx); // выводит: 777, то есть присвоилось то что передал
Раз писвоилось значит работает ведь?
}

alert(xxx); // опять вывело: 0
Правильно, мы же вначале присвоили именно 0, а функцию присвоения еще не вызвали

Вобщем я все подчистил и в примерчик загнал.
Вложения
Тип файла: zip frames.zip (982 байт, 2 просмотров - Кто скачивал? )
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 18.09.2004, 12:10     # 6
nemra
Guest
 
Сообщения: n/a

да, сработало... спасибо, только, честно говоря, я не врубился чем твой код отличается от того что я написал... вроде то же самое всё делалось, тот передал, тот получал после... хоть и алерт выводил 0, но когда второй фрейм запрашивал число, то функция присвоения ведь уже происходила до этого, нет так?
 
Старый 18.09.2004, 18:51     # 7
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Наздоровье.
Ничем не отличается практически, просто подчищен и все лишенее убрано.
Я не знаю что у Вас не работало, Вы же не выложили полного кода, скорее всего Вы не правильно обращаетесь к элементу формы (window.frames['frame_2'].document.form.text.value=num...
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 13:20.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.