将存储的文本复制到表格中,然后将其显示回文本区域

时间:2014-01-06 15:07:23

标签: javascript

我需要你的帮助,

如何从我的表中复制文本(包括换行符)并将其放回textarea“newtext”

我现有的编码似乎不起作用。

<html>

<head>

<style type="text/css">

.box { width: 400px; height: 50px; }

</style>

<script type="text/javascript">

function ta() {

    taValue = document.getElementById("ta").value

    taValue = taValue.replace(/\n/g, '<br/>')

    document.getElementById("tatext").innerHTML = taValue
}

function text2area() {

    document.getElementById("newtext").innerHTML = document.getElementById("tatext").innerHTML

}

</script>

</head>

<textarea class="box" id="ta" onkeyup="ta()"></textarea>

<table id="tatable"><tr><td><div id="tatext"></div></td></tr></table>

<br>

<input type="button" onclick="text2area()" value="move text">

<br><br>

<textarea class="box" id="newtext"></textarea>

</html>

2 个答案:

答案 0 :(得分:0)

textarea没有innerHTML。请注意你是如何抓住value的?以同样的方式设置它!就像这样,因为它是一个表单元素。

document.getElementById("tatext").value = taValue; //semi-colons are just good practice

在这里:

document.getElementById("newtext").value = document.getElementById("tatext").value;

答案 1 :(得分:0)

不要使用函数innerHTML,而是抓住要捕获的文本区域的value,并将新文本区域的value设置为此值。您已将value用于变量taValue。此外,better practice可以使用addEventListener来获取点击次数和关键字。

function ta() {
    taValue = document.getElementById("ta").value
    taValue = taValue.replace(/\n/g, '<br/>')
    document.getElementById("tatext").value = taValue;
}

function text2area() {
    taValue = document.getElementById("ta").value;
    document.getElementById("newtext").value = taValue;
}

document.getElementById("ta").addEventListener ("onkeyup", ta, false);
document.getElementById("move-text").addEventListener ("click", text2area, false);

JSFiddle:http://jsfiddle.net/tMJ84/1/