2013-11-14 35 views
3

這是Does this not work because I can't use a script in a div?我應該使用.innerHTML還是.value爲<textarea>?

當我離開的後續,我有這個代碼:
按鍵腳本:

<script> 
    var correctProperty = "value"; 
    function run(){ 
     document.getElementsByTagName("head")["0"].innerHTML += eval(document.getElementById("editorHead")[correctProperty]); 
     document.getElementById("result").innerHTML = eval(document.getElementById("editorBody")[correctProperty]); 
    } 
</script> 

的文字區域(不含classstyle非格之間的屬性&文本):

<textarea id="editorHead" rows="20"></textarea> 
<textarea id="editorBody" rows="20"></textarea> 
<div id="result"></div> 

目前這是行不通的,我的答案之一來自之前(接受的)表示correctProperty應設置爲"innerHTML"。所以呢?或者問題是與window(像以前一樣)的干擾?或者,...我應該把它放在一個表格中,然後使用"value"

+1

主要的事情**不**使用'eval()'在這裏。 – Pointy

+0

@Pointy我知道這是**不是**的問題。這是給出的。 –

+1

對另一個問題的回答是錯誤的。 – Pointy

回答

2

您可以通過「value」屬性訪問並更新textarea元素的值。

嘗試:

var theValue = document.getElementById("editorHead").value; 

更新<html>元素沒有太大的意義。

+0

但這沒有奏效。我應該把它放在一個表單中嗎? –

+1

@raumaankidwai你的代碼不能用於其他原因,包括奇怪的使用'eval()'。 – Pointy

+0

「eval()'」的奇怪用法是*** _ only _ ***方法來做到這一點。 –

0

不知道你爲什麼使用eval ...下面是糾正..外面的不知道你想要完成什麼。值和innerHTML都將從textareas中提取,問題在於您只需要返回文本或可能的HTML值。

function run(){ 
    document.getElementsByTagName("html")[0].innerHTML += document.getElementById("editorHead").innerHTML; 
    document.getElementById("result").innerHTML = document.getElementById("editorBody").innerHTML; 
} 
+0

除了'。innerHTML'不是你得到'