2010-04-09 102 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>