2010-09-17 92 views
0

我生成隨機密碼並將其顯示在文本框中。 當我設置文本屬性textmode爲密碼,然後它不顯示在文本框中,但是當我將它設置爲單行然後密碼顯示在文本框中。 我使用下面的代碼 -如何在生成隨機密碼時以星號格式顯示密碼

textbox1.attributes.add("value",passwordvalue); 

作秀,我使用 -

textbox1.text = textbox1.attributes["value"].tostring(); 

同樣happing與當我編輯記錄。密碼不顯示在文本框中。

+2

如果你只是生成一個新的隨機密碼來登錄(猜測這可能是一個失密碼函數),那麼爲什麼不直接登錄,而不是傳遞到登錄頁面呢? – Paddy 2010-09-17 08:33:39

回答

1
textbox1.text = "yourrandompassword" 

我沒有得到你正在試圖做的屬性。 您是否使用文本框的asp控件元素? 如果你正在生成一個隨機的密碼,我想你想顯示給你的用戶,而不是躲在asterix'es?

3

當您在密碼模式下設置文本框時,它會呈現爲<input type="password" >,它隱藏了寫入的內容,但是這也禁止設置該字段的值。密碼字段僅供用戶輸入,不能預先填寫任何內容。

如果您想要隱藏字符的文本框,但仍然允許設置初始值,則必須使用HTML和客戶端腳本自己構建它(或者找到其他人構建的內容)。

+0

有一個初始值就像''一樣簡單。不需要腳本。 – Jeriko 2010-09-17 09:00:21

2

這有幫助嗎?

HTML

<body> 
    <input type="text" id="passbox" /> 
    <input type="submit" onclick="generate_password()" value="Generate Password" /> 
    <input type="submit" onclick="toggle_passbox()" value="Toggle Box" /> 
</body> 

JAVASCRIPT

function passbox() { 
    return document.getElementById('passbox'); 
} 

function generate_password() { 
    passbox().value=Math.random().toString(16).slice(2); 
} 

function toggle_passbox() { 
    passbox().type= passbox().type == "password" ? "text" : "password"; 
} 

您可以在http://jsbin.com/uxano3

+0

真的很好! – Kangkan 2010-09-17 08:22:30

+0

在OP場景中+如果javascript被禁用/阻止,它將使非掩碼密碼字段或OP所具有的相同。 – eglasius 2010-09-17 08:39:24

+0

起始狀態可以顛倒,JavaScript的退化並不是真的必要 - 如果這就是你的意思? – Jeriko 2010-09-17 08:51:26

0

測試這種這種做法沒有任何意義,因爲即使它表明這將是剛*****,然後使用戶處於相同的狀況。密碼字段並不意味着要顯示。

如果你必須保持與生成隨機密碼,你可以:

  • 顯示上面的密碼字段一些簡單的文字,是這樣的:「請在下面的字段中輸入您的密碼,或者將其留空,並使用我們爲您生成的密碼:SomeNicePassword「

關於編輯方案,您不應該有明確的密碼,它只是不安全,可能會讓一些客戶不高興。此外,編輯密碼功能通常要求用戶在單獨的字段中輸入其當前密碼和新密碼,以確保不是用戶離開會話並且其他人試圖接管該帳戶。

0

如果你想使用Vb。淨你將不得不使用下面的代碼創建文本框爲密碼

textbox1.passwordchar="*" 

如果你想用C夏普,你將不得不使用下面的代碼創建文本框爲密碼

textbox1.passwordchar='*'; 

如果你要使用C++,你將不得不使用下面的代碼創建文本框爲密碼

textbox->passwordchar='*';