2011-08-19 22 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 = ""; 
}