在asp的文本框中显示文本提示

时间:2014-12-31 16:30:01

标签: javascript asp.net

我正在寻找在<asp:textbox>内为用户显示一些文字的方法,这可以帮助他了解他应该在每个文本框中输入的文本数据/格式。它看起来像这样(来自Facebook注册页面的样本):

enter image description here

我现在唯一的解决方案是

1-设置aspx中文本框的默认文本 2-将其颜色设置为灰色
3-单击文本框:
   1-将颜色更改为黑色
4- Onchange,如果文本为空,则将文本恢复为默认值

这听起来像是我在90年代开发的,文本框是否有开箱即用的属性来执行此操作,还是以更智能的方式执行此操作?

新年快乐

3 个答案:

答案 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");
    }

这是我的文本框的结果:

enter image description here

编辑:

来自Anant Dabhi的回答here我发现我可以这样做:

<asp:TextBox ID="TextBox1" runat="server" placeholder="dd/mm/yyyy" ></asp:TextBox>