预填充的文本框值将在onclick上消失

时间:2013-05-01 00:04:40

标签: c# javascript asp.net textbox onclick

页面上的我的文本框预先填充了必需的文本或“输入文字”。

如果这些方框有“输入文字”,我希望这些文字在包装盒上点击消失。但是如果没有输入任何内容,那么文本框将返回预先填充的“输入文本”。

如果这些方框填充了其他文本(“输入文字”除外,那么我希望它保持不变。

这就是我到目前为止在代码隐藏方面所做的事情:

 txtBox.Attributes.Add("onblur", "if(this.value='Enter Text') {this.value=''} else if(this.value.length<=0) {this.value='" + prepopulatedText.ToString() + "'} ");

但它不起作用。

有什么想法吗?

我是否也应该使用“onClick”?

2 个答案:

答案 0 :(得分:1)

如果您不担心旧浏览器,那么您可以使用HTML5输入属性即。 placeholder

 <input type="text" name="fisrtName" placeholder="Enter your name">

否则你可以这样做

<input name="q" onfocus="if (this.value=='search') this.value = ''" type="text"  onblur="if (this.value=='') this.value = 'search'" value="search">

JS Fiddle

答案 1 :(得分:0)

如果您使用的是Winforms,则可以使用Enter event删除文本。您可以直接在编辑器中注册,也可以通过

注册
txtBox.Enter += new System.EventHandler(Enter);
txtBox.Leave+= new System.EventHandler(Leave);

private void Enter(object sender, EventArgs e)
{
    if (txtBox.Text == "Enter Text")
    {
        txtBox.Text = string.Empty;
    }
}

Leave event将它放回去。

private void Leave(object sender, EventArgs e)
{
    if (txtBox.Text == string.Empty)
    {
        txtBox.Text = "Enter Text";
    }
}