2010-04-09 71 views
3

...html form.input.value没有被打印为什么?

<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

它做什么?什么是完整的HTML和Javascript代码?错误控制台中是否显示任何错误? – Matchu 2010-04-09 01:40:43

+0

只是我在学习HTML。我发布了HTML,但它不显示在计算器中。 这给inputobj1不是对象 – chandu 2010-04-09 01:51:19

+0

我从一个窗体中调用printvalues(),该窗体有两个名为 inputobj1和inputobj2的输入对象。同时点击表格中的一个按钮,我正在调用函数 – chandu 2010-04-09 01:55:20

回答

0

通常你会使用一个函数,如document.getElementById获得DOM元素。例如:

alert(document.getElementById('inputobj1_id').value); 

对于DOM元素:

<input id="inputobj1_id" name="inputobj1" value="123" /> 
3

document.write覆盖当前文档。完成后,整个<form>元素将从DOM中消失,因此无法找到它及其输入元素。

用例如alert(...)代替document.write(...),它应该工作。

或者,您可以将它写为另一个元素的innerHTML。例如。

<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操作那样多;)

+0

感谢所有您的答案朋友 – chandu 2010-04-09 02:56:53

+0

不客气。我看到你是Stackoverflow的新手。如果答案是*有帮助的*,您可以自由地使用它。如果答案*解决了您的问题,那么您应该将其标记为已接受。另请参阅http://stackoverflow.com/faq – BalusC 2010-04-09 11:14:18

1
document.write() 

可能不是你想要的。它会覆盖整个页面的内容。你得到这个错误的原因是因为当你调用document.write时,它会删除所有以前的内容,因此页面将不再有一个表单元素。

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>