0
<asp:TextBox TextMode="Password" ID="TxtBx_Password" runat="server" Width="175px" Text="Password" ForeColor="Gray" 
                    onblur="WaterMarkPwd(this, event);" onfocus="WaterMarkPwd(this, event);"></asp:TextBox>

我正在使用此密码文本框并使用 WaterMarkPwd js 方法,如下所示,

<script type ="text/javascript">

function WaterMarkPwd(txtpwd, event) 
{
    var defaultText = "Password";

    // Condition to check textbox length and event type
    if (txtpwd .value.length == 0 & event.type == "blur") 
    {
        //if condition true then setting text color and 
        //default text in textbox
        txtpwd .style.color = "Gray";
        txtpwd .value = defaultText;
    }
    // Condition to check textbox value and event type
    if (txtpwd .value == defaultText & event.type == "focus") 
    {
        txtpwd .style.color = "black";
        txtpwd .value = "";
    }
 }
</script> 

问题是,如果我将其应用于具有文本模式 =“文本”的文本框,那么它可以正常工作,但是当我将其更改为文本模式 =“密码”时,它会显示加密文本,因为我在方法中设置它defaultText = "Password";

如何解决希望您的建议

4

4 回答 4

2

如果您不关心兼容性,可以使用该placeholder属性为您的输入指定水印。

不幸的是,没有办法让password类型字段显示实际文本。您可以做的是改变您的方法并使用显示水印的覆盖元素。每当输入聚焦时隐藏它。

这是这种方法的演示:http: //jsfiddle.net/tPtJR/

于 2013-01-07T06:30:24.367 回答
0

您只需使用: 占位符属性

<asp:TextBox TextMode="Password" ID="TxtBx_Password" runat="server" Width="175px"
Text="Password" Placeholder="Password"></asp:TextBox>

演示 JSFiddle

或者您可以在工作示例中使用jQuery 的 Watermark 插件

于 2013-01-07T06:30:01.560 回答
0

只需将您的功能更改为此即可

<script type ="text/javascript">

function WaterMarkPwd(txtpwd, event) 
{
    var defaultText = "Password";

    // Condition to check textbox length and event type
    if (txtpwd.value.length == 0 & event.type == "blur") 
    {
        //if condition true then setting text color and 
        //default text in textbox
        txtPwd.type = "text";
        txtpwd.style.color = "Gray";
        txtpwd.value = defaultText;
    }
    // Condition to check textbox value and event type
    if (txtpwd.value == defaultText & event.type == "focus") 
    {
        txtPwd.type = "password";
        txtpwd.style.color = "black";
        txtpwd.value = "";
    }
 }
</script> 

这是jsFiddle

我添加了两行,首先在你的 if 部分

txtPwd.type = "text";

在你的其他部分中排名第二

txtPwd.type = "password";
于 2013-01-07T06:52:02.190 回答
0
<asp:TextBox ID="TxtBx_Password" CssClass="txt2" TextMode="Password" value="Password"      runat="server" onfocus="this.value=''" onblur="if(this.value == ''){ this.value ='Password';}"></asp:TextBox>

您可以使用上述语法并将水印文本放入 value 属性中

于 2013-09-16T09:03:41.477 回答