動態修改input元素type屬性值

admin發表於2017-12-04

本章節通過程式碼例項介紹一下如何動態修改input元素的type屬性值。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style type="text/css">
div{display:none;}
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script> 
<script> 
$(document).ready(function(){ 
  $("#showPwd").focus(function(){
    $(this).attr('type','password');
  });
}) 
</script>
</head>
<body>
<input name="pw" type="text" id="showPwd" value="輸入密碼"/>
</body>
</html>

程式碼會報錯Uncaught Error: type property can't be changed。 

更換一個思路實現此效果,程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script> 
$(document).ready(function(){ 
  $("#showPwd").focus(function(){
    var text_value=$(this).val();
    if(text_value==this.defaultValue) 
    {
      $("#showPwd").hide();
      $("#pw").show().focus();
    }
  });
  $("#password").blur(function(){
    var text_value=$(this).val();
    if(text_value=="") 
    {
      $("#showPwd").show();
      $("#pw").hide();
    }
  });
}) 
</script>
</head>
<body>
<input name="password" type="password" id="pw" style="display: none;" />
<input type="text" id="showPwd" value="請輸入密碼" />
</body>
</html>

不是更換type屬性值,而是文字框和密碼框隱藏和顯示的切換。

密碼框提示語無需採用上面方式,可以用placeholder屬性,參閱HTML input password密碼框一章節。

相關文章