2012-08-03 79 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