我创建了一个包含以下代码的HTML文档..
<html>
<head>
<title>My Page</title>
</head>
<body>
<textarea id="main">
Hi this is sample content
</textarea>
</body>
</html>
我的问题是我无法使用javascript更新textarea的内容。 我在Ubuntu上使用Firefox 3.6
现在我正在使用Firefox插件,我已将此代码添加到overlay.js文件中
window.content.document.getElementById("main").innerHTML += "some content";
由于没有任何代码正常工作,我需要以任何可能的方式更改textarea的内容。
答案 0 :(得分:1)
您是否尝试过查看错误控制台?我的猜测是浏览器找不到textarea,因为脚本在它上面。尝试将脚本放在textarea声明下面或将代码放在函数中并在body onload事件上调用它。
<html>
<head>
<title>My Page</title>
<script>
function updateTextarea(id, value){
document.getElementById(id).innerHTML += value;
}
</script>
</head>
<body onload="updateTextarea('main', 'some content')">
<textarea id="main">
Hi this is sample content
</textarea>
</body>
</html>
答案 1 :(得分:0)
在加载前引用“main”。必须将getElementById放在onload函数中,或将脚本移动到textarea标记下面。
编辑:我不明白你的问题。只要在定义textarea之前没有运行脚本,它就可以正常工作。当然不是需要浏览器插件的东西。这在我的Firefox中运行良好......
<html>
<head>
<title>My Page</title>
</head>
<body>
<textarea id="main">This is initial content... </textarea>
<script>
document.getElementById("main").innerHTML += "more content.";
</script>
</body>
</html>
答案 2 :(得分:0)
替换脚本标记中的行 document.getElementById(“main”)。innerHTML + =“some content”; 同 document.getElementById('main')。value + =“Some text”;