我目前有一个网站登录框。我想在密码框中添加文本,告诉用户他们使用哪个密码。即。密码框将包含单词(请使用Windows登录密码),当他们点击它时,措辞将消失,并允许他们输入密码。
我可以使用登录框执行此操作:
<asp:TextBox ID="UserName" class="txtbox" runat="server" text="NUID" Width="240px"
onfocus="if(this.value==this.defaultValue) {this.value='';$(this).css('color','black');}"
onblur="if(this.value=='') {this.value=this.defaultValue;$(this).css('color','rgb(173,180,195)');}"></asp:TextBox>
然而,使用密码它似乎不起作用。这似乎是因为有了textmode =&#34;密码&#34;参数。
有人知道如何在密码模式下使用ASP.NET文本框执行此操作。不是HTML textobx。
这是我目前的代码。
HTML
<asp:Login ID="Login1" class="loginbox" runat="server" Font-Names="Verdana" Font-Size="8pt"
DisplayRememberMe="False" UserNameLabelText="NUID:"
FailureText="Incorrect login. Please try again." TitleText="" DestinationPageUrl="default.aspx" onauthenticate="Login1_Authenticate">
<TextBoxStyle Width="110px" />
<LoginButtonStyle Font-Names="Arial, Helvetica, sans-serif" Height="24px" />
<LayoutTemplate>
<table border="0" cellpadding="1" cellspacing="0"
style="border-collapse:collapse; height:113px">
<tr>
<td>
<table border="0" cellpadding="0">
<tr>
<td valign="baseline">
<div class="textlogin">NUID</div>
</td>
</tr>
<tr>
<td>
<asp:TextBox ID="UserName" class="textloginbox" runat="server" Font-Bold="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server"
ControlToValidate="UserName" ErrorMessage="User Name is required."
ToolTip="User Name is required." ValidationGroup="Login1" ForeColor="#FF0000" Font-Bold="true" Font-Size="14px">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr><td style="height:3px;"></td></tr>
<tr>
<td>
<div class="textlogin">Password</div>
</td>
</tr>
<tr>
<td>
<asp:TextBox ID="Password" runat="server" class="textloginbox" TextMode="Password" Font-Bold="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="PasswordRequired" runat="server"
ControlToValidate="Password" ErrorMessage="Password is required."
ToolTip="Password is required." ValidationGroup="Login1" ForeColor="#FF0000" Font-Bold="true" Font-Size="14px">*</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td align="center" style="color:#DA6426;">
<asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal>
</td>
</tr>
<tr>
<td align="right">
<asp:ImageButton ID="LoginButton" runat="server" CssClass="loginbutton" CommandName="Login" ValidationGroup="Login1" ImageUrl="~/Icons/Enter Arrow 30.png" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</LayoutTemplate>
<TitleTextStyle BackColor="#FFFFE0" Font-Bold="True"
ForeColor="#FFFFFF" Height="0px"/>
</asp:Login>
答案 0 :(得分:2)
您是否尝试过占位符属性?所以在ID =&#34;密码&#34;之后,放入占位符=&#34;在此输入测试&#34;。它不会为IE8工作而下降但是......尝试这个(使用jQuery)
$("#Password").focus(function()
{
if($(this).val() == "Your Text Here")
{
$(this).val("");
}
});
$("#Password").blur(function()
{
if($(this).val() == "")
{
$(this).val("Your Text Here");
}
});
编辑:阅读完上述评论后,他有一个观点。使用此代码将呈现&#34; Your Text Here&#34;不可读。但是,占位符属性将正确显示,即使它不适用于IE 8及以下