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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обновление страницы 
:(
    Опции темы
kb-nn
Дата 21.1.2004, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Здравствуйте!
у меня очередной вопросик.

вобщем так.
есть фреймосодержащий док. (назовем его index.html)
<html>
<script language=javascript>
<--
var a=1;
function f(){
a=2;
frames['menu'].document.f.n.value=10;
frames['menu'].location.reload;
}
//-->
</script>
<frameset cols="150,*">
<frame name=menu src="menu.html">
<frame name=main src="main.html">
</frameset>
</html>
в одном из фреймов, (menu.html), кроме всего прочего,есть код.

<script language="javascript">
<!--
document.open();
document.write(parent.a);
document.close();
//-->
</script>

также там содержится
<form name=f>
<input type=text name=n>
</form>
теперь я в другом фрейме (main.html) вызываю функцию parent.f()
и жду, чтобы в фрейме menu у меня изменилось значение a
(стало равным 2) Но этого почему- то не происходит.
Хотя значение элемента n формы f изменяется правильно, там оказывается 10.
а почему не меняется значение переменной a. Хотя на самом деле значение её изменилось правильно, это видно из дальнейшей работы скрипта.
но вот почему её значение не обновляется во фрейме?
PM MAIL ICQ   Вверх
Sardar
Дата 23.1.2004, 01:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Цитата
frames['menu'].location.reload;

Страница не перезагружается, в этом причина.
frames['menu'].location.reload();


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
kb-nn
Дата 23.1.2004, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



очень странная вещица!!!!

если reload() (со скобками), то обновляется значение переменной a , но перестает обновляться значение текстового поля
если reload (без скобок), то всё с точностью до наоборот- поле обновляется, не обновляется
a

почемуconfused.gif Хотелось бы, чтобы всё обновлялось

P.S. всё- таки хорошо, что вы есть! спасибо!
PM MAIL ICQ   Вверх
Sardar
Дата 23.1.2004, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Естественно smile.gif, форма перегружается и теряет все что было. Совет: отказатся от перезагрузки страницы и менять, в том месте где у тебя document.write(), поле innerText(innerHTML).
Пример:
Код

//в index.htm->f()
window.frames['menu'].document.all.t.innerText=parent.a;
//в menu.htm
<tr><td id=t>0</td></tr>




--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
kb-nn
Дата 26.1.2004, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



а чтобы работало и для оперы, и для нетскейпа. надо писать

var br="":
if(document.all) {br=all;}
if(document.layers) {br=layers;}
if(document.getElementById) {br=getElementById;}
window.frames['menu'].document.br.t.innerText=parent.a;
да?
PM MAIL ICQ   Вверх
kb-nn
Дата 29.1.2004, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



ау!
меня не слышно?

а у меня очередной вопрос по этой же теме.
как мне как- то отформатировать это самое parent.a?
например, сделать жирным?

PM MAIL ICQ   Вверх
Sardar
Дата 30.1.2004, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Цитата
а чтобы работало и для оперы, и для нетскейпа. надо писать

var br="":
if(document.all) {br=all;}
if(document.layers) {br=layers;}
if(document.getElementById) {br=getElementById;}
window.frames['menu'].document.br.t.innerText=parent.a;
да?

Вот так можно, автор Cheba:
Код

function findObj(theObj, theDoc)
{
 var p, i, foundObj;
 
 if(!theDoc) theDoc = document;
 if( (p = theObj.indexOf("?")) > 0 && parent.frames.length) {
   theDoc = parent.frames[theObj.substring(p+1)].document;
   theObj = theObj.substring(0,p);
 }
 if(!(foundObj = theDoc[theObj]) && theDoc.all)
   foundObj = theDoc.all[theObj];
 for (i=0; !foundObj && i < theDoc.forms.length; i++)
   foundObj = theDoc.forms[i][theObj];
 for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++)
   foundObj = findObj(theObj,theDoc.layers[i].document);
 if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);
 return foundObj;
}
//Copyright © [K]Sys, [K]Dev department, Mankuta [Cheba] Alexandr


Примеры использования:
Код

obj=findObj("text"); //найти обьект с ID=text в этом документе
win=window.open("./page.htm","test","width=300,height=250");
obj=findObj("text",win.document); //найти обьект в окне win(page.htm)
obj=findObj("text?frame_name"); //найти обьект во фрейме frame_name
obj=findObj("t?menu"); //это для тебя

Делай выводы... smile.gif

Для форматирования текста применяется... HTML smile.gif. Используется по разному:
1) obj.innerHTML="<b>"+parent.a+"</b>";
2) obj.document.write("<b>"+parent.a+"</b>");



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


 




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


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

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