代码有什么问题吗?它不起作用。
<script>
t=document.getElementById('good');
document.write(t.value);
</script>
HTML:
Type-here: <input id='good' type='text' value="my value is high">
答案 0 :(得分:7)
您的脚本位于文档的顶部,并且在您的输入标记存在于DOM之前运行。
一旦浏览器看到</script>
结束标记,脚本就会立即执行。您可以将脚本块放在<body>
的末尾,也可以将代码作为“onload”处理程序运行。
答案 1 :(得分:1)
试试这个:
<script>
function reWriteThis(id) {
var t=document.getElementById(id);
document.write(t.value);
}
</script>
之后,在你的加载标签中,例如:
<body onload="reWriteThis('good')">
答案 2 :(得分:0)
等等,在先前的问题中你是just complaining,getElementsByTagName不起作用。在这两种情况下,都是你试图使用不起作用的方式。
我和其他人在那里给了你评论和答案,它们将启发你关于getElementById和getElementsByTagName。
答案 3 :(得分:0)
我重写了如下代码。但随后<input>
标签消失了。为什么呢?
<script>
function write()
{
t=document.getElementById('good');
document.write(t.value);
}
</script>
HTML:
<body onload="write()">
Type here: <input id='good' type='text' value="my value is high" >
</body>
答案 4 :(得分:0)
document.write将刷新当前文档内容。
如果您想将此新内容附加到当前内容,您必须执行以下操作:
例如,这对您有用:
<script>
function write()
{
var t=document.getElementById('good');
if (document.createTextNode){
var mytext=document.createTextNode(t.value)
document.getElementById("newDiv").appendChild(mytext)
}
}
</script>
在这里你可以看到newDiv
<body onload="write()">
Type here: <input id='good' type='text' value="my value is high" >
<div id="newDiv"></div>
</body>