我正在尝试获取输入的值(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
答案 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>
需要考虑的事项:
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