遇到字符串问题, 转义符都用不上的情况下..就提出来,看的更清晰
<html>
<head>
<title>I Love You!</title>
<meta charset="utf-8" />
<script type="text/javascript">
function doclick(){
var temp1=document.getElementById('pw1').value;
var temp2=document.getElementById('pw2').value;
var checkBox= document.getElementById("chb");
if(checkBox.checked){
document.getElementById('pass1').innerHTML='<input type=text id=pw1 name=pw1>';
document.getElementById('pass2').innerHTML='<input type=text id=pw2 name=pw2>';
}
else
{
document.getElementById('pass1').innerHTML='<input type=password id=pw1 name=pw1 placeholder="输入密码">';
document.getElementById('pass2').innerHTML='<input type=password id=pw2 name=pw2 placeholder="再次输入密码">';

document.getElementById('pw1').value=temp1;
document.getElementById('pw2').value=temp2;
}
</script>
</head>
<body>
<p><label class="control-label" for="inputPassword">密码</label>
  <span id="pass1"><input id="pw1" name="pw1" placeholder="输入密码" type="password" /></span>
 <p style="text-indent:-40px">
  <p><label class="control-label" for="inputPassword">确认密码</label>
 <span id="pass2"><input id="pw2" name="pw2" placeholder="再次输入密码" type="password" /></span> <input type="checkbox" id="chb" onclick="doclick()" />显示密码</p>
</body>
</html>

解决方案 »

  1.   

    顺带..placeholder属性不是所有浏览器支持. 若要做到跨浏览器. 还需要做处理
      

  2.   


    并没有解决我提的问题啊    还是一点击checkbox 密码输入框的提示文字就都消失了 
      

  3.   


    <html>
    <head>
        <title>I Love You!</title>
        <meta charset="utf-8" />
        <script type="text/javascript">
    var str1 = "输入密码";
    var str2 = "再次输入密码";
            function doclick(){
    var span1 = document.getElementById('pass1');
    var span2 = document.getElementById('pass2');
    var input1 = document.getElementById('pw1');
    var input2 = document.getElementById('pw2');

                var temp1 = input1.value==str1 ? "" : input1.value;
    var temp2 = input2.value==str2 ? "" : input2.value;
                var checkBox= document.getElementById("chb"); if(checkBox.checked){
    input1.type = "text";
    input2.type = "text";         input1.value=temp1 == "" ? str1 : temp1;
                input2.value=temp2 == "" ? str2 : temp2; fixColor();
                }
                else
                {
    input1.type = "password";
    input2.type = "password"; input1.value=temp1;
    input2.value=temp2;
                }
            } function fixColor(){
    var input1 = document.getElementById('pw1');
    var input2 = document.getElementById('pw2');

    input1.style["color"]= (input1.value==str1 || input1.value=="") ? "#a9a9a9" : "#000000";
    input2.style.color= (input2.value==str2 || input2.value=="") ? "#a9a9a9" : "#000000";
    }
        </script>
    </head>
    <body>
    <p>
    <label class="control-label" for="inputPassword">密码</label>
    <span id="pass1">
    <input id="pw1" name="pw1" placeholder="输入密码" type="password" onBlur="fixColor()" onKeyUp="fixColor()" />
    </span>
    <p style="text-indent:-40px">
    <p>
    <label class="control-label" for="inputPassword">确认密码</label>
    <span id="pass2">
    <input id="pw2" name="pw2" placeholder="再次输入密码" type="password" onBlur="fixColor()" onKeyUp="fixColor()" />
    </span>
    <input type="checkbox" id="chb" onclick="doclick()" />
    显示密码</p>
    </body>
    </html>
    功能实现了, 但是代码比较乱, LZ整理一下吧.. fixColor可以不用..
      

  4.   

    我觉得 你这个显示密码直接来改变input的type值还好一点