Вставка текста в форму из Iframe (Как?)

shumik1

Новичок
Всем добрый вечер, сталкнулся с такой проблемой. Есть html страница с формой и iframe блоком, в этом iframe загружена другая страница blockmenu.html с кнопкой, как сделать так чтобы при нажатии на кнопку в iframe блоке, вставлялся нужный текст в форму на странице?

Вот пример моей страницы:
PHP:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>

<textarea id="text_output" rows="3" cols="78"></textarea><br /><br />

<iframe width="160" height="110" src="blockmenu.html" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>

</body>
</html>
Тоесть нужно чтото сделать на странице blockmenu.html загружаемой в блоке iframe.
 

Zvook

Новичок
Всем добрый вечер, сталкнулся с такой проблемой
Так а проблема то в чем?
PS Если страница во фрейме грузится с другого домена, то никак, политика безопасности. Если с этого же, то $('#frameId').contents().find("html").html(); и т. д.
 

shumik1

Новичок
Так а проблема то в чем?
PS Если страница во фрейме грузится с другого домена, то никак, политика безопасности. Если с этого же, то $('#frameId').contents().find("html").html(); и т. д.
спс, но я не пойму что нужно сделать с этой строкой или куда подставить??
 

Zvook

Новичок
PHP:
<html>
<head>
<script type="text/javascript" src="jquery.js">
$(function(){
var x = $('#frameId').contents().find("html").html();
});
</script>
</head>
<body>

<textarea id="text_output" rows="3" cols="78"></textarea><br /><br />

<iframe width="160" height="110" src="blockmenu.html" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" id="frameId"></iframe>

</body>
</html>
В переменной x у тебя будет содержимое фрейма, если там конечно есть <html>
 

shumik1

Новичок
PHP:
<html>
<head>
<script type="text/javascript" src="jquery.js">
$(function(){
var x = $('#frameId').contents().find("html").html();
});
</script>
</head>
<body>

<textarea id="text_output" rows="3" cols="78"></textarea><br /><br />

<iframe width="160" height="110" src="blockmenu.html" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" id="frameId"></iframe>

</body>
</html>
В переменной x у тебя будет содержимое фрейма, если там конечно есть <html>
хоть убей но так до кнонца не сообразил( вот смотрите:

PHP:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>

<body>

<textarea id="text_output" rows="3" cols="78"></textarea><br /><br />

<a href="#" onClick="document.getElementById('text_output').value = 'Вставленый текст';">Вставить текст!!!</a>

</body>
</html>
Мне нужно чтобы принцип работы был точно таким же как в этом примере, только что бы вот эта ссылка (<a href="#" onClick="document.getElementById('text_output').value = 'Вставленый текст';">Вставить текст!!!</a>) была в iframe на вот этой уже другой html странице blockmenu.html
 

Zvook

Новичок
shumik1
Так, давай по другому. Что ты пытаешься сделать?
 

shumik1

Новичок
shumik1
Так, давай по другому. Что ты пытаешься сделать?
короче, у меня есть таблица RGB цветов на странице colors.html. Есть страница main.html на которой расположена форма и iframe блок в котором загружена страница colors.html с RGB цветами, я просто беру кликаю на любой нужный мне цвет и код с этим цветом вставляется в форму на странице main.html. Это нужно мне для BB кодов проще говоря.
 

Zvook

Новичок
Ты ее в айфрем засунул чтобы скроллбар был чтоли? Или зачем?
 

shumik1

Новичок
ну, а как можно проще сделать? с помощью айфрейма я избавился от грамоздкой таблицы RGB цветов, тоесть чтобы её не было на странице main.html, вообще я на dle глянул такой вариант, но там ваще всё каряво и я не пойму как сделать.
 

shumik1

Новичок
ну так в конечном результате в исходном коде страницы будет код этих RGB цветов, а мне бы нехотелось
 

Zvook

Новичок
ну так в конечном результате в исходном коде страницы будет код этих RGB цветов, а мне бы нехотелось
Что ты подразумеваешь под "исходным кодом"? То то ты видишь при нажатии в браузере на "исходный код"? Так она там в любом случае будет. Только в случае с айфреймом у тебя помимо основной еще одна целая страница подгрузится
 

shumik1

Новичок
можно же эту страницу с айфраймом вставить в отдельную javascript функцию и вызывать её в попуп окне например, тогда она не будет подгружаться когда не надо
 

Zvook

Новичок
Чтобы "подгружалось когда надо" нужно писать аякс запрос. В твоем случае, насколько я понял, эта табличка так или иначе будет присутствовать на странице, так зачем тогда городить айфреймы, если можно просто приинклюдить и все?
 

Zvook

Новичок
ок, спс, щас штонибуть поизобретаю))) спс за помощь!
Да незачто. Можешь конечно сделать через айфрейм, но помоему незачем.
Чтобы отлавливать событие клика на цвете - на элемент по которому идет клик навешивай событие onclick в котором вызывай какую-нибудь функцию типа switchColor() передавая ей параметом код цвета, а функция в свою очередь будет биндить его в поле фомы. Как то так
 

shumik1

Новичок
Да незачто. Можешь конечно сделать через айфрейм, но помоему незачем.
Чтобы отлавливать событие клика на цвете - на элемент по которому идет клик навешивай событие onclick в котором вызывай какую-нибудь функцию типа switchColor() передавая ей параметом код цвета, а функция в свою очередь будет биндить его в поле фомы. Как то так
это если не через айфрейм?
 
Сверху