2012-08-03 45 views
0

我目前有一个登录框,文本框中显示文本ID和密码。当用户点击它时,它会消失并允许用户输入他们的密码。但是,我将密码文本框的textmode设置为“PASSWORD”,它似乎不再适用于密码框。任何人有任何线索?密码框内的文本

HTML

<input name="Login1$UserName" type="text" value="NUID" id="Login1_UserName" class="txtbox" 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)');}" style="width:240px;" /> 
    <span id="Login1_UserNameRequired" title="User Name is required." style="color:#DA6426;visibility:hidden;">*</span> 
    </td> 
</tr> 
<tr> 
    <td> 
    <input name="Login1$Password" type="password" id="Login1_Password" style="width:240px;" /> 
    <span id="Login1_PasswordRequired" title="Password is required." style="color:#DA6426;visibility:hidden;">*</span> 
    </td> 
</tr> 
<tr> 
    <td align="center" style="color:#DA6426;"> 
    </td> 
</tr> 
<tr> 
    <td align="right"> 
    <input type="submit" name="Login1$LoginButton" value="Log In" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;Login1$LoginButton&quot;, &quot;&quot;, true, &quot;Login1&quot;, &quot;&quot;, false, false))" id="Login1_LoginButton" style="font-family:Arial;height:22px;" /> 
+0

什么不*看起来*不再工作?你有没有试过'placeholder'属性? – Bergi 2012-08-03 23:36:46

+0

重点。密码框始终为空。直到你键入时,它显示的小圆圈为字母,因为它是假设。但它不会在文本框中显示文本“密码”。 – user1512593 2012-08-03 23:56:27

+0

看来你没有设置defaultValue(或者我无法在asp代码中识别),因为浏览器至少应该显示8个圆圈。 – Bergi 2012-08-04 00:10:46

回答

0

不是很熟悉ASP,但用JavaScript你不能改变输入的类型(出于安全原因);如果您想要在密码输入中显示可见文本的效果,则必须在物理上隐藏密码并显示交换onfocus的另一个输入。

编辑:

下面是我创建了一个前阵子那是我的js库的一部分密码交换功能的链接。对于其他人来说,我意识到它不使用jQuery,但是我在使用jQuery之前创建并没有时间或理由更新它。

http://jsfiddle.net/thundercracker/DXLe3/1/

编辑:

我敢肯定它是完全独立的。只需要使用两个输入的ID在window.onload上调用它。

还需要底部的eventListener函数。

+0

那么就像在它上面贴上标签并让它消失在焦点上? – user1512593 2012-08-03 23:59:33

+0

你当然可以。只有IE不支持它。 – Bergi 2012-08-04 00:00:56

+0

您可以在顶部有一个标签,或者另一个常规输入在点击时消失,如果密码字段模糊且为空,则会再次出现。另一个选择是使用文本“密码”的背景图像并使其以相同的方式消失。我会立刻张贴我的密码交换脚本的jsfiddle。 – 2012-08-04 00:24:20

0

这可以通过在JavaScript中使用onfocus和onblur事件并更改输入元素的type属性来完成。但是,我已经遇到了一些浏览器上的问题,没有将字段改回密码输入。这里有一篇文章用asp.net控件完成验证器。

http://planetofcoders.com/watermark-property-password-textbox-web-page/

+1

在IE中,你完全不能改变输入元素的类型。 – Bergi 2012-08-03 23:58:52