在按钮单击时将一个预标签内容复制到另一个

时间:2014-11-23 10:21:39

标签: javascript html ace-editor

我正在写一个烧瓶webapp。以下是我的某个网络应用页面的内容。

我想要的是用id" editor2"复制pre标签的内容。 to" editor1"点击按钮。我正在使用ace编辑器。

{% extends "layout.html" %}
{% block content %}

<pre id="editor1" style="width: 600px; height: 500px; display: inline-block;"></pre>

<button type="button" onclick="fork()" class="btn btn-primary" style="vertical-align: middle;">Fork</button>

<pre id="editor2" style="width: 600px; height: 500px; display: inline-block;"></pre>
<p id="id">hey</p>

<script>
var editor1 = ace.edit("editor1");
editor1.setTheme("ace/theme/twilight");
editor1.getSession().setMode("ace/mode/javascript");

var editor2 = ace.edit("editor2");
editor2.setTheme("ace/theme/twilight");
editor2.getSession().setMode("ace/mode/javascript");
</script>

<script>
function fork(){
    var text = document.getElementById("editor2").value;
    document.getElementById("editor1").innerHTML = text;
}
</script>

{% endblock %}

当我点击按钮&#34; editor1&#34;预先内容被文本取代&#34; undefined&#34;它变得不活跃,即我无法写入。

2 个答案:

答案 0 :(得分:0)

function fork() {
    var text =  editor2.getSession().getValue();
    editor1.getSession().setValue( text );
}

答案 1 :(得分:0)

通用Element与您的<pre>一样,没有任何.value(这就是您获得undefined的原因)。您可以使用innerHTML获取其内容。

document.getElementById('editor').innerHTML = document.getElementById('editor2').innerHTML;