预填充的文本框值将在单击时消失
本文关键字:单击 消失 填充 文本 | 更新日期: 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";
}
}