我正在寻找在<asp:textbox>
内为用户显示一些文字的方法,这可以帮助他了解他应该在每个文本框中输入的文本数据/格式。它看起来像这样(来自Facebook注册页面的样本):
我现在唯一的解决方案是
1-设置aspx中文本框的默认文本
2-将其颜色设置为灰色
3-单击文本框:
1-将颜色更改为黑色
4- Onchange,如果文本为空,则将文本恢复为默认值
这听起来像是我在90年代开发的,文本框是否有开箱即用的属性来执行此操作,还是以更智能的方式执行此操作?
新年快乐
答案 0 :(得分:4)
使用placeholder
属性
<input type="text" placeholder="First Name">
这里是Demonstration。
注意:强>
此属性仅存在于HTML5中,并且在IE中不受支持&lt; 10,因此对于IE 7,8和9,请参阅this stackoverflow question,后者反过来建议jQuery Placeholder。
还有一个纯粹的jQuery解决方法,探索here。
答案 1 :(得分:3)
在html5中有一个属性可以帮助你。它是placeholder
属性。
对于旧版浏览器,您可以使用placeholder.js对该功能进行填充;您所要做的就是在页面中包含该脚本,并且它可以正常工作。
<input type="text" placeholder="my super cool placeholder text here" />
答案 2 :(得分:0)
感谢theonlygusti和J.Wells的回答,我知道了什么是&#34;占位符&#34;是。感谢this帖子,我能够在我的文本框中使用它
这个答案更符合我的目的,因为我不必将文本框更改为输入字段。我使用下面的代码,它完美地运作:
protected void txtBirthDate_PreRender(object sender, EventArgs e)
{
((TextBox)sender).Attributes.Add("placeholder", "dd/mm/yyyy");
}
这是我的文本框的结果:
编辑:
来自Anant Dabhi的回答here我发现我可以这样做:
<asp:TextBox ID="TextBox1" runat="server" placeholder="dd/mm/yyyy" ></asp:TextBox>