Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Изменить высоту фрейма


Автор: Mpak 12.7.2008, 14:48
есть страница со структорой
Код

<body>
<!--оформление//-->
<iframe src="страничка">
<!--оформление//-->
</body>


внутри фрейма нажимается кнопка, идет проверка на корректность введенных данных. И изменяется содержимое фрейма, например:

Код

<?php
function errorinput($strerror)
{
echo "<head><link type='text/css' rel='StyleSheet' href='styles.css'></head>";
echo "<body bgcolor=black>";
echo "<span class='main_text'><br/><br/><br/><br/><br/>";
echo "<center><b>Трата-та<br/>";
echo $strerror." трата-та";
echo "<a class='link' href='javascript: history.back()'>Назад</a></b></center>";
echo "</span></body></html>";
exit();
}
?>


Что куда надо вставить чтобы изменить высоту фрейма? Подскажите пожалуйста...

Автор: Wolf1994 12.7.2008, 14:57
Обратиться к фрейму по идентификатору и изменить свойство style height, если правильно понял...

Автор: Mpak 12.7.2008, 15:00
а можете пример привести как это реализовать?
допустим у меня фрейм имеет id main_frame
Код

<body>
<!--оформление//-->
<iframe src="страничка" id="main_frame">
<!--оформление//-->
</body>

Автор: Wolf1994 12.7.2008, 15:25
Код

document.getElementById("mainframe").style.height="200px";

Автор: Mpak 12.7.2008, 15:49
а куда это вставлять?

<?php
function errorinput($strerror)
{
echo "<head><link type='text/css' rel='StyleSheet' href='styles.css'></head>";
echo "<body bgcolor=black>";
echo "<span class='main_text'><br/><br/><br/><br/><br/>";
echo "<center><b>Трата-та<br/>";
echo $strerror." трата-та";
echo "<a class='link' href='javascript: history.back()'>Назад</a></b></center>";
echo "<script type='JavaScript'>
       document.getElementById(\'main_frame\').style.height = \'100px\';
      </script>";
echo "</span></body></html>";
exit();
}
?>

не работает :(

Автор: Wolf1994 12.7.2008, 20:04
Возможно, так:

Код

top.document.getElementById("mainframe").style.height="200px";

Автор: Mpak 15.7.2008, 12:56
добавил... все равно не работает...
Код

function errorinput($strerror)
{
echo "<head><link type='text/css' rel='StyleSheet' href='styles.css'></head>";
echo "<body bgcolor=black>";
echo "<span class='main_text'><br/><br/><br/><br/><br/>";
echo "<center><b>Трата-та<br/>";
echo $strerror." трата-та";
echo "<a class='link' href='javascript: history.back()'>Назад</a></b></center>";
echo "<script type='JavaScript'>
       top.document.getElementById(\'main_frame\').style.height = 100;
      </script>";
echo "</span></body></html>";
exit();
}

Автор: Wolf1994 15.7.2008, 13:06
Фрэйм, чьи параметры изменяются находится в "родительском" окне?

Попробуйте сделать строго по синтаксису:
Код

echo <<<xhtml
<script type="text/javascript">
//<![CDATA[
top.document.getElementById("main_frame").style.height="100px";
//]]>
</script>
xhtml;

Автор: Itsys 15.7.2008, 13:08
Wolf1994, 
ему надо не
Код

top.document.getElementById("main_frame").style.height="100px";

а
Код

top.document.getElementById("main_frame").style.height="100%";

Автор: Mpak 15.7.2008, 14:31
Wolf1994, +1!
Заработало smile Премного благодарен, уже не знаю сколько я с этим мучался smile
А не объясните ли в чем была проблема?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)