2011-10-18 30 views
0

晚上好夥計bashers:javascript:爲什麼這不會導致頁面上的所有表單都重置?

我知道它應該很簡單,但我很累,只是想完成它。這是我認爲應該這樣做,這是相同的how this fellow did it,但是numberOfForms出現ZERO,而不是三(這是多少表格在網頁上,所有名爲& id'd)。我錯過了什麼?

var numberOfForms = document.getElementsByTagName("form"); 
console.log("numberOfForms: " + numberOfForms); 
for (var i=0; i<numberOfForms.length; i++) 
{ 
    document.forms[i].reset; 
} 

擺脫了一些光線,PLZ。然後我可以衝出來,打幹草。

回答

1

試試這個。您已經有了一個包含所有HTML DOM Form元素的數組。使用numberOfForms[i].reset()而不是嘗試使用document.forms[n]

var numberOfForms = document.getElementsByTagName("form"); 
console.log("numberOfForms: " + numberOfForms); 
for (var i=0; i<numberOfForms.length; i++) 
{ 
    numberOfForms[i].reset(); 
} 

其實這是更清潔,更高效的,其實也沒有必要與document.getElementsByTagName()

var allForms = document.forms; 
for (var i=0; i < allForms.length; i++) { 
    allForms[i].reset(); 
} 
+0

函數,你正嘗試重置集合?這不會起作用......我認爲這是一個錯字,雖然...看起來像你的意思numberOfForms [i] .reset –

+0

認爲你可能會錯過一個'[我]':) :) – alex

+0

@ Dr.Dredel。是的,我知道我的錯字,正在糾正錯誤。 –

3

嘗試使用reset()

var numberOfForms = document.getElementsByTagName("form"); 
console.log("numberOfForms: " + numberOfForms); 
for (var i=0; i<numberOfForms.length; i++) 
{ 
    document.forms[i].reset(); 
} 
+1

這是一個正確的答案來遍歷DOM。重置僅僅是對函數的引用。 reset()會運行 –

相關問題