2014-01-23 175 views
0

我有一個輸入類型密碼,當單擊immage時我想更改爲文本。將輸入類型密碼更改爲輸入類型文本

這是我做過什麼:

$('#txtGenerate').attr("type", "text"); 

但它不工作.. 我能做些什麼?

+0

有些瀏覽器不支持真正改變的類型一個'input'元素。您應該考慮用文本輸入代替密碼輸入。從['.attr'文檔](http://api.jquery.com/attr/)(您閱讀的是,對吧?):*「**注意:**嘗試更改'type'屬性(或屬性)通過HTML或已經在HTML文檔中創建的'input'元素將導致Internet Explorer 6,7或8拋出錯誤。「* –

+0

Works Fine [here](http://jsfiddle.net/Lm72s /) –

+0

接受答案,如果幫助也是如此的一部分 –

回答

1

使用prop代替:

$('#txtGenerate').removeAttr("type"); 
$('#txtGenerate').prop('type', 'password'); 
3

你可以這樣做:

$('#txtGenerate').clone().prop('type','text').insertAfter('#txtGenerate').prev().remove(); 
  1. Clone當前輸入

  2. 改變輸入型

  3. Insert舊的輸入

  4. Remove舊的輸入

Demo

+0

@ user3226885很高興幫助!如果你覺得滿意,不要忘了接受答案:) – Felix

2

克隆後輸入試試這個:

$('#txtGenerate').prop('type', 'text'); 
+0

爲什麼OP應該這樣做? '.attr'有什麼問題? –

相關問題