1

在这里,我试图为我的两个文本框获取水印,据说它们是用户名和密码文本框。我已经掌握了窍门,使用以下代码:

 <asp:TextBox ID="TbUsername" runat="server" CssClass="tb" Width="170px" onfocus="if(this.value=='Enter username'){this.value=''}"
                                onblur="if(this.value==''){this.value='Enter username'}"></asp:TextBox>

 <asp:TextBox ID="TbPassword" runat="server" CssClass="tb" TextMode="Password" Width="170px"
                                onfocus="if(this.value=='Enter password'){this.value=''}" onblur="if(this.value==''){this.value='Enter password'}"></asp:TextBox>

问题是,我只能通过首先单击文本框来弹出水印,而我希望它们在页面首次启动时显示。有没有办法做到这一点?预先感谢您的帮助。

4

4 回答 4

3

为 Whatemark使用 Html5 的属性占位符

如下所示

 <asp:TextBox ID="TbPassword" runat="server" CssClass="tb" TextMode="Password" Width="170px"
                                placeholder="Your Password"></asp:TextBox>

要使用此属性,您无需使用任何外部脚本或进行任何编码,只需将占位符属性放在文本框中

于 2013-05-06T08:40:31.530 回答
1

您必须在页面加载时设置一个值。

试试这个

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            TbUsername.Text = "Enter username";
            TbPassword.Attributes.Add("value", "Enter Password");
        }
    }

/更新

这是 VB.NET 的代码

Protected Sub Page_Load(sender As Object, e As EventArgs)
    If Not IsPostBack Then
        TbUsername.Text = "Enter username"
        TbPassword.Attributes.Add("value", "Enter Password")
    End If
End Sub
于 2013-05-06T08:39:00.653 回答
0

.vb文件的页面加载功能处:

If Not IsPostBack Then   
    Me.TbUsername.Text = "Enter username"
    Me.TbPassword.Attributes.Add("value", "Enter Password")
End If

这将设置watermark第一次页面加载。

另一种方法是使用jquery$(document).ready()功能。

于 2013-05-06T08:39:12.207 回答
0

或者你可以使用ajax工具包水印控制

于 2013-05-07T09:28:41.547 回答