2014-01-26 2 views
0

Поэтому я не хочу, чтобы кнопки заменяли текст друг друга, но вставляем первый нажатый текст кнопки в первую строку, а второй - второй линии и т. д., когда у меня больше кнопок. Поэтому я думаю, что есть очень простой ответ на этот вопрос, но я не могу найти точный ответ нигде.У меня есть 2 кнопки внутри iframe, вставляя текст родителям textarea, но заменяя друг друга

Вот код моей проблемной ситуации:

первой странице:

<html> 
<head> 
    <title>Title</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    <script type="text/javascript"> 
    function hello(string) 
    { 
    var name=string 
    document.getElementById('myAnchor').value=name; 
    } 
    </script> 
</head> 
<body> 
<form><textarea id="myAnchor"></textarea></form> 
<iframe src="buttonitesti_1.html"></iframe> 
</body> 
</html> 

buttonitesti_1.html страницы внутри фрейма:

<html> 
<head> 
    <title>Title</title> 
    <meta http-equiv="Content-Type" 
content="text/html; charset=ISO-8859-1"> 
</head> 
<body> 
    <input value="knaapi" onclick="parent.hello('ekaknaapi')" type="button"> 
    <input value="knaapi2" onclick="parent.hello('tokaknaapi')" type="button"> 
</body> 
</html> 
+0

Кнопки не заменяют друг друга при запуске кода. Может быть, я не уверен, что вы спрашиваете, не могли бы вы рассказать немного дальше? –

ответ

0

Ваша hello функция написана, чтобы установить значение из текстовое поле. Что вам нужно сделать, вместо того, чтобы это получить текущее значение текстового поля, если значение не является пустым добавить символ новой строки, и добавить новый текст:

function hello(string) 
{ 
    // get the current text, add a newline if not blank, and append new 
    // text 
    var anchorText = document.getElementById('myAnchor').value; 
    if(anchorText !== "") anchorText += '\n'; 
    anchorText += string; 
    document.getElementById('myAnchor').value=anchorText; 
} 
0

LIVE DEMO

<!doctype html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<title>Title</title> 
</head> 
<body> 

<form> 
    <textarea id="myAnchor"></textarea> 
</form> 
<iframe src="buttonitesti_1.html"></iframe> 

<script> 
    function hello(obj){ 
     document.getElementById('myAnchor').value = obj.data; 
    } 
    addEventListener("message", hello, false); 
</script> 
</body> 
</html> 

buttonitesti_1.html

<!doctype html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<title>Title</title> 
</head> 
<body> 

<input onclick="parent.postMessage('ekaknaapi', '*')" type="button"> 
<input onclick="parent.postMessage('tokaknaapi', '*')" type="button"> 

</body> 
</html> 

more info about window.postMessage at MDN

Смежные вопросы