Добрый день! Ребята не могу разобраться, как передать данные переменной из нижнего фрейма в верхний в Google Chrome.
Фрейм с тестом
<script type="text/javascript">
var frm=window.parent.stat.document.forms.stat; // переменная задающая окно stat
frm.ntop.value=1; //значениe, задающее номер темы
frm.total.value=2; //значениe, количество тестов
frm.good.value=0; // значениe, оценку по данной теме
</script>
Верхний фрейм, содержащий "шапку". При выборе разных тем, значения ntop, total и good должны изменяться
<body>
<form action="#" name="stat">
Тема номер: <input name="ntop" value="0" disabled="disabled" size="3" />
Решено: <input name="good" value="0" disabled="disabled" size="3" />
из <input name="total" value="0" disabled="disabled" size="3" />
</form>
</body>
Данный код не работает в Google Chrome. При выборе темы теста на основой странице, значения не передаются в верхний фрейм, в Firefox работает корректно.
Как поменять/присвоить значения в верхнем фрейме в форме name="stat"?
В файле index.html указано следующее:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<head></head>
<frameset rows="60px,*" name="frameset" border="0">
<frame src="ind_up.html" name="stat" scrolling="0" noresize="yes"/>
<frame src="ind_ex.html" name="main" scrolling="0" noresize="yes"/>
</frameset>
</html>
Теги iframe использовать не удобно, потому что приходится жестко указывать высоту фрейма. При использовании frameset, нижняя страница отображается целиком. Да, не поддерживается в html5, но это пока не очень волнует.
В файле ind_up.html, форма выглядит вот так, это собственно вся страница, которая загружается в верхний фрейм:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
...
<body>
<form action="#" name="stat">
Тема номер: <input name="ntop" value="0" disabled="disabled" size="3" />
Решено: <input name="good" value="0" disabled="disabled" size="3" />
из <input name="total" value="0" disabled="disabled" size="3" />
</form>
</body>
В файле ind_ex.html, тело документа выглядит вот так:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<body>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td width="10%" align="center" valign="top"></td>
<td width="90%" align="left" valign="center">
<H2>Тесты</h2>
<li id=soder><A HREF="test1.html">Тест 1</a></li>
<li id=soder><A HREF="test2.html">Тест 2</a></li>
...
</td>
</table>
</body>
</html>
При переходе на страницу test1.html, страница выглядит вот так:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript">
var frm=window.parent.stat.document.forms.stat;
frm.ntop.value=1; // номер темы
frm.total.value=2; // количество тестов
frm.good.value=0; // оценка по данной теме
</script>
</head>
<body>
...
</body>
</html>
Собственно требуется чтобы при выборе темы на странице ind_ex.html (фрейм "main"), при загрузке страницы test1.html, изменялись значения на странице ind_up.html (фрейм "stat"). В Firefox работает корректно, в Chrome браузерах значения не передаются.