Java Script вытащить переменную из frame
От: demitriy  
Дата: 23.04.04 18:38
Оценка:
Задача следующа:
есть 2 фрейма

1-ый постоянно обновляется и соответственно второй об этом должен знать,
но при такой постановке как ниже получается бесконечный цыкл
как вытаскивать постоянно обновляющуюся переменную ?



1 фрейм
------------------------------------------------------
<input id=par type=text name=par[] value='test'>
------------------------------------------------------



2 фрейм
------------------------------------------------------
<script>

function aaa(){

setTimeout("aaa()", 10);

for(i=1;i<=parent.frames['prog'].par.length;i++) {
ttt.innerHTML+=parent.frames['prog'].par[i].value+'<br>';
}


}
</script>
--------------------------------------------------------
Re: Java Script вытащить переменную из frame
От: King Oleg Украина http://kingoleg.livejournal.com
Дата: 24.04.04 18:55
Оценка:
Здравствуйте, demitriy, Вы писали:

D>Задача следующа:

D>есть 2 фрейма

D>1-ый постоянно обновляется и соответственно второй об этом должен знать,

D>но при такой постановке как ниже получается бесконечный цыкл
D>как вытаскивать постоянно обновляющуюся переменную ?
Просто:
здесь
Автор: King Oleg
Дата: 21.01.04





<script>
function changeInput(name, value) {
document.all.forms.elements[name].value = value;
}
</script>
<!-- frame id = first-->
D><input id=par type=text name=par[] value='test'>




<!-- frame id = second-->
D><script>
D>function aaa(){
      var first = parent.frames['first'];
D>      foreach (...) { ..Для каждой новой пары (имя input'a, новое значение)
            first.changeInput(name, value); 
D>      }
D>      setTimeout("aaa()", 10);
D>}
D></script>


P.S. As is.
King Oleg
*Читайте DOC'и, они rules*
Re[2]: Java Script вытащить переменную из frame
От: demitriy  
Дата: 26.04.04 12:24
Оценка:
Здравствуйте, King Oleg, Вы писали:


Что-то я совсем запутался, а где всавлять вывод
ttt.innerHTML+=parent.frames['prog'].par[i].value+'<br>';
если я его вставлю в цикле ... такое получится
и для чего эта функция

function changeInput(name, value) {
document.all.forms.elements[name].value = value;
}

У меня в 1-ом фрейме должно быть
<input id=par type=text name=par[] value='test1'>
<input id=par type=text name=par[] value='test2'>
<input id=par type=text name=par[] value='test3'>

а второй по мере появления массива должен все это выводить не перегружаясь




KO>Здравствуйте, demitriy, Вы писали:


D>>Задача следующа:

D>>есть 2 фрейма

D>>1-ый постоянно обновляется и соответственно второй об этом должен знать,

D>>но при такой постановке как ниже получается бесконечный цыкл
D>>как вытаскивать постоянно обновляющуюся переменную ?
KO>Просто:
KO>здесь
Автор: King Oleg
Дата: 21.01.04





KO>
KO><script>
KO>function changeInput(name, value) {
KO>document.all.forms.elements[name].value = value;
KO>}
KO></script>
KO><!-- frame id = first-->
D>><input id=par type=text name=par[] value='test'>
KO>




KO>
KO><!-- frame id = second-->
D>><script>
D>>function aaa(){
KO>      var first = parent.frames['first'];
D>>      foreach (...) { ..Для каждой новой пары (имя input'a, новое значение)
KO>            first.changeInput(name, value); 
D>>      }
D>>      setTimeout("aaa()", 10);
D>>}
D>></script>
KO>


KO>P.S. As is.
Re[3]: Java Script вытащить переменную из frame
От: King Oleg Украина http://kingoleg.livejournal.com
Дата: 26.04.04 13:23
Оценка:
Здравствуйте, demitriy, Вы писали:

D>Здравствуйте, King Oleg, Вы писали:



D>Что-то я совсем запутался, а где всавлять вывод

D>ttt.innerHTML+=parent.frames['prog'].par[i].value+'<br>';
Парень, ті меня удивляешь. Забудь об этой конструкции.
D>если я его вставлю в цикле ... такое получится
D>и для чего эта функция
D>function changeInput(name, value) {
D>document.all.forms.elements[name].value = value;
D>}

Почитай внимательнее пост, на который я дал ссылку. Это единственный универвальный способ который я знаю для передачи значений из фрейма в фрейм.


D>У меня в 1-ом фрейме должно быть

D><input id=par type=text name=par[] value='test1'>
D><input id=par type=text name=par[] value='test2'>
D><input id=par type=text name=par[] value='test3'>

D>а второй по мере появления массива должен все это выводить не перегружаясь

После этой фразы мне показалось, что ты в "в 1-ом фрейме должно быть" имел ввиду будущее после выполнения скрипта, а "а второй по мере" — текущее во время выполнения скрипта время. Если это не так — то все ок. Если так — попробуй разбери что я здесь написал

Читай и разбирайся. У тебя все получится сделать. Готовое решение тебе все-равно никто не даст. А заготовки уже я дал.
King Oleg
*Читайте DOC'и, они rules*
Re[4]: Java Script вытащить переменную из frame
От: demitriy  
Дата: 26.04.04 13:49
Оценка:
Здравствуйте, King Oleg, Вы писали:

foreach (...) { ..Для каждой новой пары (имя input'a, новое значение)
ОК, вот эту строчку можно подостпнее пожалуйста


KO>Здравствуйте, demitriy, Вы писали:


D>>Здравствуйте, King Oleg, Вы писали:



D>>Что-то я совсем запутался, а где всавлять вывод

D>>ttt.innerHTML+=parent.frames['prog'].par[i].value+'<br>';
KO>Парень, ті меня удивляешь. Забудь об этой конструкции.
D>>если я его вставлю в цикле ... такое получится
D>>и для чего эта функция
D>>function changeInput(name, value) {
D>>document.all.forms.elements[name].value = value;
D>>}

KO>Почитай внимательнее пост, на который я дал ссылку. Это единственный универвальный способ который я знаю для передачи значений из фрейма в фрейм.



D>>У меня в 1-ом фрейме должно быть

D>><input id=par type=text name=par[] value='test1'>
D>><input id=par type=text name=par[] value='test2'>
D>><input id=par type=text name=par[] value='test3'>

D>>а второй по мере появления массива должен все это выводить не перегружаясь

KO>После этой фразы мне показалось, что ты в "в 1-ом фрейме должно быть" имел ввиду будущее после выполнения скрипта, а "а второй по мере" — текущее во время выполнения скрипта время. Если это не так — то все ок. Если так — попробуй разбери что я здесь написал

KO>Читай и разбирайся. У тебя все получится сделать. Готовое решение тебе все-равно никто не даст. А заготовки уже я дал.
Re[5]: Java Script вытащить переменную из frame
От: King Oleg Украина http://kingoleg.livejournal.com
Дата: 26.04.04 14:15
Оценка:
Здравствуйте, demitriy, Вы писали:

D>Здравствуйте, King Oleg, Вы писали:


D>foreach (...) { ..Для каждой новой пары (имя input'a, новое значение)

D>ОК, вот эту строчку можно подостпнее пожалуйста

Давай как проще

Работающий пример, ...

frames.html
<html>
<head>
<title></title>
</head>
<frameset cols="50,50">
<frame src="index.html" name="first">
<frame src="dinamic.html" name="second">
</frameset>
</html>


index.html
<html>
<head>
<title></title>
<script>
function addInput(name, value) {
    var oDiv = document.getElementById('inputs');
    oDiv.innerHTML += '<input type="text" name="'+name+'" value="'+value+'"><br>';
}
</script>
</head>
<body>
<form name="mForm">
<div id="inputs"></div><!-- Контейнер для новых инпутов -->
</form>
</body>
</html>


dinamic.html
<html>
<head>
<title></title>
</head>
<body>
<!-- Эмулируем работу серверного скрипта -->
<script>
document.open();
document.write('<scr'+'ipt>');
document.write('var parent = top.frames["first"];');
for(var i = 0; i < 50; i++) {
    document.write('parent.addInput("name[]",'+i+');');
}
document.write('</scr'+'ipt>');
document.close();
</script>
</body>
</html>



Что не ясно — спрашивай
King Oleg
*Читайте DOC'и, они rules*
Re[6]: Java Script вытащить переменную из frame
От: demitriy  
Дата: 26.04.04 15:00
Оценка:
Здравствуйте, King Oleg, Вы писали:
РАБОТАЕТ !!!
СУПЕР !!!
КЛАСС !!!
ТЫ ГЕНИЙ !!!
СПАСИБО ОГРОМНОЕ !!!



KO>Здравствуйте, demitriy, Вы писали:


D>>Здравствуйте, King Oleg, Вы писали:


D>>foreach (...) { ..Для каждой новой пары (имя input'a, новое значение)

D>>ОК, вот эту строчку можно подостпнее пожалуйста

KO>Давай как проще


KO>Работающий пример, ...


KO>frames.html

KO>
KO><html>
KO><head>
KO><title></title>
KO></head>
KO><frameset cols="50,50">
KO><frame src="index.html" name="first">
KO><frame src="dinamic.html" name="second">
KO></frameset>
KO></html>
KO>


KO>index.html

KO>
KO><html>
KO><head>
KO><title></title>
KO><script>
KO>function addInput(name, value) {
KO>    var oDiv = document.getElementById('inputs');
KO>    oDiv.innerHTML += '<input type="text" name="'+name+'" value="'+value+'"><br>';
KO>}
KO></script>
KO></head>
KO><body>
KO><form name="mForm">
KO><div id="inputs"></div><!-- Контейнер для новых инпутов -->
KO></form>
KO></body>
KO></html>
KO>


KO>dinamic.html

KO>
KO><html>
KO><head>
KO><title></title>
KO></head>
KO><body>
KO><!-- Эмулируем работу серверного скрипта -->
KO><script>
KO>document.open();
KO>document.write('<scr'+'ipt>');
KO>document.write('var parent = top.frames["first"];');
KO>for(var i = 0; i < 50; i++) {
KO>    document.write('parent.addInput("name[]",'+i+');');
KO>}
KO>document.write('</scr'+'ipt>');
KO>document.close();
KO></script>
KO></body>
KO></html>
KO>



KO>Что не ясно — спрашивай
Re[7]: Не за что
От: King Oleg Украина http://kingoleg.livejournal.com
Дата: 26.04.04 15:16
Оценка: :)
Здравствуйте, demitriy, Вы писали:

Я рад, но оценка лучше чем спасибо
Автор: King Oleg
Дата: 03.03.04


Удачи
King Oleg
*Читайте DOC'и, они rules*
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.