document.GetElementById不适用于任何类型的浏览器

时间:2010-09-22 13:25:29

标签: javascript html

我正在尝试获取输入的值(text / textarea),document.getElementById('rtext').value不返回任何内容。如果我设置了默认值(value =“XXX”),则返回该值,如果我编辑它,则返回。

以下是一些示例:

<div class="forms">
    <p><textarea id='rtext'></textarea></p>
</div>

我提到表单元素<textarea>不是任何表单的一部分,我只能使用document.getElementById。没有jQuery,没有this.form.Id.value

请帮忙。 THX

8 个答案:

答案 0 :(得分:5)

getElementById()(大小写很重要)是文档对象的成员。要调用该函数,您需要引用该对象,然后引用该函数。用点表示法,它应该是:

document.getElementById()

document.getElementById() - MDC

请注意,网页上的ID 必须是唯一的,而另一个具有相同ID的元素可能会导致您的问题。

答案 1 :(得分:2)

嗯,这是document.getElementById(),不是吗?

答案 2 :(得分:1)

适合我:

   <div class="forms">
       <p><textarea id='rtext'></textarea></p>
   </div>

   <input type    = "button" 
          onclick = "alert(document.getElementById('rtext').value);" 
          value   = "run" />

   <a     href    = "javascript:void(0);"
          onclick = "alert(document.getElementById('rtext').value)"
         >GET</a>

需要考虑的事项:

  • 确保调用代码;您的JavaScript可能存在错误
  • 确保id Andy E指出的id是HTML / DOM的唯一ID,但我认为如果有多个,该函数将抓取它找到的第一个对象。
  • 确保拼写/案例正确无误; getElementById()getElementByID()功能不同
  • 确保在使用正确的事件(onkeyup vs onkeypress
  • 填充后尝试获取值

答案 3 :(得分:1)

尝试将代码段放在<body>标记的末尾。您的javascript可能正在执行之前已加载<textarea>元素。

所以:

<html>
<body>
 <div class="forms">
  <p><textarea id='rtext'></textarea></p>
 </div>
<script type="text/javascript">
  var el = document.getElementById('rtext');
  alert(el);
</script>
</body>
</html>

(我遗漏了头部和其他标签以保持紧凑:)

答案 4 :(得分:1)

我解决了这个问题:

我插入了表单标签,我修改了

<a href="javascript" 
    onclick="alert(document.getElementById('rname').value)">GET</a>

<input type="button" 
    onclick="document.getElementById('rname').value=this.form.rname.value" />`

现在工作正常。

答案 5 :(得分:1)

你试过了吗?

document.getElementById('rtext').textContent

答案 6 :(得分:0)

由于您已经尝试过每个人的解决方案而您找不到错误,我建议您尝试在浏览器中调试JavaScript。

在IE8中(我不记得7是否有它)点击F12并调出开发人员工具栏。在脚本选项卡上,您可以在控制台中手动测试您的javascript或进行调试。

在FireFox中使用Firebug。

在Chrome中按Ctrl + Shift + J,控制台将位于屏幕底部。您还可以在脚本选项卡上调试脚本。

答案 7 :(得分:0)

如果您在更新面板中使用Text元素,则页面上呈现的Id不再是rtext。仅在您使用更新面板时。查看源代码以验证ID是否保留为rtext