...
<script type="text/javascript">
function printvalues() {
document.write("This is my first JavaScript!");
document.write(form.inputobj1.value);
document.write(form.inputobj2.value);
}
</script>
<form name="form">
<input name="inputobj1" value="123" />
<input name="inputobj2" value="abc"/>
<input type="button" onclick =" printvalues();">
</form>
为什么这一行没有打印值document.write(form.inputobj1.value);
答案 0 :(得分:3)
document.write
会覆盖当前文档。完成后,整个<form>
元素从DOM中消失,因此无法找到它及其输入元素。
将document.write(...)
替换为例如alert(...)
,它应该有效。
或者,您可以将其写为另一个元素的innerHTML
。 E.g。
<script type="text/javascript">
function printvalues() {
var div = document.getElementById("divId");
div.innerHTML += "This is my first JavaScript!";
div.innerHTML += form.inputobj1.value;
div.innerHTML += form.inputobj2.value;
}
</script>
<form name="form">
<input name="inputobj1" value="123" />
<input name="inputobj2" value="abc"/>
<input type="button" onclick =" printvalues();">
</form>
<div id="divId"></div>
请注意,这不是“最佳做法”,但是因为您正在学习...完成核心Javascript后,我建议您完成jQuery。它是一个Javascript库,可以极大地简化DOM操作,以及更多;)
答案 1 :(得分:1)
document.write()
可能不是你想要的。它将覆盖页面的全部内容。您收到该错误的原因是因为当您调用document.write时,它会删除所有以前的内容,因此该页面将不再具有表单元素。
答案 2 :(得分:0)
通常你会使用诸如document.getElementById
之类的函数来获取DOM元素。例如:
alert( document.getElementById('inputobj1_id').value );
对于DOM元素:
<input id="inputobj1_id" name="inputobj1" value="123" />
答案 3 :(得分:0)
<script type="text/javascript">
function printvalues() {
var x = document.form.inputobj1.value;
var y = document.form.inputobj2.value
document.write("<Html><head></head><body><h1>");
document.write("This is my first JavaScript!</h1></br><h3>");
document.write(x);document.write("</h3></br><h3>");
document.write(y);document.write("</h3></body></html>");
}
</script>
<form name="form">
<input name="inputobj1" value="123" />
<input name="inputobj2" value="abc"/>
<input type="button" value="click" onclick =" printvalues();">
</form>