0

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

如果这些框有“输入文本”,我希望这些文本在单击框时消失。但是,如果没有输入任何内容,则文本框将返回预先填充的“输入文本”。

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

到目前为止,这是我在代码隐藏方面得到的:

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

但它不起作用。

有任何想法吗?

我也应该使用“onClick”吗?

4

2 回答 2

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小提琴

于 2013-05-01T00:13:55.383 回答
0

如果您使用的是 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;
    }
}

离开事件把它放回去。

private void Leave(object sender, EventArgs e)
{
    if (txtBox.Text == string.Empty)
    {
        txtBox.Text = "Enter Text";
    }
}
于 2013-05-01T00:09:45.983 回答