2011-08-19 46 views
0

我對此很陌生,但我試圖清除文本框中的任何內容。我在主體部分的代碼如下:問題在JavaScript中清除TextBox

<body> 

<FORM NAME = "frmOne" method=POST> 

Name: <INPUT TYPE=text NAME=name onFocus="this.form.name.value=''" /><br /> 

<input type="button" value="Click To Clear" onClick="clearForm(this.form)"> 


</FORM> 

<SCRIPT LANGUAGE="JAVASCRIPT"> 

function clearForm(form){ 

form.name.value = ""; 

</SCRIPT> 

</body> 

問題是,單擊該按鈕確實在名稱框中沒有和任何仍然存在!誰能建議爲什麼我可能犯了一個非常基本的錯誤。

感謝,

斯圖爾特

回答

4

那是因爲你有一個語法錯誤,你缺少一個}。它應該是:

function clearForm(form){ 
    form.name.value = ""; 
} // <- you have to close the function 

Then it works.

工具,比如Chrome開發者工具或Firefox的Firebug幫助您檢測這樣的錯誤。例如,您的代碼導致以下錯誤:

Uncaught SyntaxError: Unexpected end of input

+0

大謝謝你,我會需要尋找到越來越指示語法錯誤,因爲將會有一個編輯器未來還有很多! – Stumf

+0

@Stumf:這是一個好主意:)還有諸如[JSLint](http://www.jslint.com/)或Google的[Closure Linter](http://code.google.com/closure/utilities)等工具。 /docs/linter_howto.html)很有幫助。 –

0

而不是使用名稱,它使用ids的良好實踐。

因此,對於你的輸入,使用方法:

<INPUT TYPE=text NAME=name ID="myFormTextbox" onFocus="this.value=''" /><br /> 

併爲您的JS:

function clearForm(form) { 
    document.getElementById("myFormTextbox").value = ""; 
}