预填充的文本框值将在单击时消失

本文关键字:单击 消失 填充 文本 | 更新日期: 2023-09-27 18:11:48

我在页面上的文本框预先填充了必需的文本或'输入文本'。

如果框中有"输入文本",我希望这些文本在点击框上消失。但是,如果没有输入任何内容,则文本框返回到预先填充的"输入文本"。

如果框中填充了其他文本(除了"输入文本"),那么我希望它保持原样。

这是我目前得到的代码:

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

但是行不通。

任何想法?

我应该使用"onClick"来代替吗?

预填充的文本框值将在单击时消失

如果你不担心旧的浏览器,那么你可以使用HTML5输入属性ie。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小提琴

如果您使用的是Winforms,您可以使用Enter事件来删除文本。您可以直接在编辑器中注册它们,或者通过

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事件把它放回去。

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