文本区域内容未在Mozilla Firefox中更新

时间:2011-11-09 10:45:27

标签: javascript html firefox-addon

我创建了一个包含以下代码的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的内容。

3 个答案:

答案 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”;