这是Does this not work because I can't use a script in a div?
的后续行动我离开时,我有这个代码:
按钮脚本:
<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>
textareas(在非div文本之间没有class
和style
属性&amp;):
<textarea id="editorHead" rows="20"></textarea>
<textarea id="editorBody" rows="20"></textarea>
<div id="result"></div>
目前这不起作用,我之前的一个答案(已接受的答案)说correctProperty
应该设置为"innerHTML"
。应该呢?或问题是干扰window
(像之前一样)?或者,......我应该将其放在表单中,然后使用"value"
?
答案 0 :(得分:2)
您可以通过“value”属性访问和更新textarea元素的值。
尝试:
var theValue = document.getElementById("editorHead").value;
更新<html>
元素没有多大意义。
答案 1 :(得分:2)
Javascript innerHTML会更新textarea中的文本,但它不会在浏览器窗口中显示您的更改;如果你第二次使用它。例如,如果你有一些按钮来更新textarea中的文本;此按钮将首次插入文本,但第二次插入文本虽然它会在textarea中插入文本(可以通过firebug或chrome开发人员工具证明),但这不会显示在浏览器窗口中。相反,如果你使用值,这将在浏览器中显示(我在chrome和firefox中测试过它)。
所以我认为你应该使用.value
答案 2 :(得分:0)
不知道你为什么使用eval ...下面的内容已得到纠正..除此之外不确定你要完成什么。值和innerHTML都将从textareas中提取,问题是你只需要返回文本或可能的HTML值。
function run(){
document.getElementsByTagName("html")[0].innerHTML += document.getElementById("editorHead").innerHTML;
document.getElementById("result").innerHTML = document.getElementById("editorBody").innerHTML;
}