<script language="javaScript">
function pass() {
old_pass = document.getElementById("old_pass").value;
new_pass = document.getElementById("new_pass").value;
new_pass2 = document.getElementById("new_pass2").value;
if (old_pass == "") {
msg = "旧密码不得为空!";
var ch = document.getElementById("old_pass");
} else if (new_pass == "") {
msg = "新密码不得为空!";
var ch = document.getElementById("new_pass");
} else if (new_pass.length < 6) {
msg = "新密码不能小于6个字符,请重新输入!";
var ch = document.getElementById("new_pass");
} else if (new_pass != new_pass2) {
msg = "2次密码输入不一致!";
var ch = document.getElementById("new_pass2");
}
ch.innerHTML = msg;
return false;
}
</script>
<table width="99%" border="0" cellpadding="0" cellspacing="1">
    <tr>
        <td width="30%" height="30" bgcolor="#FFFFFF">
            <div align="right" class="STYLE2 STYLE1">
                请输入旧密码:
            </div>
        </td>
        <td width="30%" bgcolor="#FFFFFF">
            &nbsp;
            <input name="old_pass" type="password" id="old_pass" size="20" onBlur="return pass();"
            />
            <span id="old_pass">
            </span>
        </td>
        <td width="39%" bgcolor="#FFFFFF">
        </td>
    </tr>
    <tr>
        <td width="30%" height="30" bgcolor="#FFFFFF">
            <div align="right" class="STYLE2 STYLE1">
                请输入新密码:
            </div>
        </td>
        <td width="30%" bgcolor="#FFFFFF">
            &nbsp;
            <input name="new_pass" type="password" id="new_pass" size="20" onBlur="return pass();"
            />
            <span id="new_pass">
            </span>
        </td>
        <td width="39%" bgcolor="#FFFFFF">
            &nbsp;
        </td>
    </tr>
    <tr>
        <td width="30%" height="30" bgcolor="#FFFFFF" bgcolo&nbsp;r="#FFFFFF">
            <div align="right" class="STYLE2 STYLE1">
                请再次输入新密码:
            </div>
        </td>
        <td width="30%" bgcolor="#FFFFFF">
            &nbsp;
            <input name="new_pass2" type="password" id="new_pass2" size="20" onBlur="return pass();"
            />
            <span id="new_pass2">
            </span>
        </td>
        <td width="39%" bgcolor="#FFFFFF">
            &nbsp;
        </td>
    </tr>
</table>

解决方案 »

  1.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head><body>
    <script type="text/javascript">
    function pass() {
    old_pass = document.getElementById("old_pass").value;
    new_pass = document.getElementById("new_pass").value;
    new_pass2 = document.getElementById("new_pass2").value;
    var ch="";
    if (old_pass == "") {
    msg = "旧密码不得为空!";
     ch = document.getElementById("old_pass12");
    } else if (new_pass == "") {
    msg = "新密码不得为空!";
    ch = document.getElementById("new_pass12");
    } else if (new_pass.length < 6) {
    msg = "新密码不能小于6个字符,请重新输入!";
    ch = document.getElementById("new_pass21");
    } else if (new_pass != new_pass2) {
    msg = "2次密码输入不一致!";
    ch = document.getElementById("new_pass21");
    }
    ch.innerHTML = msg;
    return false;
    }
    </script>
    <table width="99%" border="0" cellpadding="0" cellspacing="1">
      <tr>
      <td width="30%" height="30" bgcolor="#FFFFFF">
      <div align="right" class="STYLE2 STYLE1">
      请输入旧密码:
      </div>
      </td>
      <td width="30%" bgcolor="#FFFFFF">
      &nbsp;
      <input name="old_pass" type="password" id="old_pass" size="20" onBlur="return pass();"
      />
      <span id="old_pass12">
      </span>
      </td>
      <td width="39%" bgcolor="#FFFFFF">
      </td>
      </tr>
      <tr>
      <td width="30%" height="30" bgcolor="#FFFFFF">
      <div align="right" class="STYLE2 STYLE1">
      请输入新密码:
      </div>
      </td>
      <td width="30%" bgcolor="#FFFFFF">
      &nbsp;
      <input name="new_pass" type="password" id="new_pass" size="20" onBlur="return pass();"
      />
      <span id="new_pass12">
      </span>
      </td>
      <td width="39%" bgcolor="#FFFFFF">
      &nbsp;
      </td>
      </tr>
      <tr>
      <td width="30%" height="30" bgcolor="#FFFFFF" bgcolo&nbsp;r="#FFFFFF">
      <div align="right" class="STYLE2 STYLE1">
      请再次输入新密码:
      </div>
      </td>
      <td width="30%" bgcolor="#FFFFFF">
      &nbsp;
      <input name="new_pass2" type="password" id="new_pass2" size="20" onBlur="return pass();"
      />
      <span id="new_pass21">
      </span>
      </td>
      <td width="39%" bgcolor="#FFFFFF">
      &nbsp;
      </td>
      </tr>
    </table>
    </body>
    </html>
    这样试试
    各个dom的id不要重了  还有变量的作用域
      

  2.   


     <input name="old_pass" type="password" id="old_pass" size="20" onBlur="return pass();"
      />
      <span id="old_pass">id重复,document.GetElementById("old_pass") 选择的是 input。input 不支持,innerHTML方法
    if (old_pass == "") {
    msg = "旧密码不得为空!";
    var ch = document.getElementById("old_pass");
    } else if (new_pass == "") {
    msg = "新密码不得为空!";
    var ch = document.getElementById("new_pass");
    } else if (new_pass.length < 6) {
    msg = "新密码不能小于6个字符,请重新输入!";
    var ch = document.getElementById("new_pass");
    } else if (new_pass != new_pass2) {
    msg = "2次密码输入不一致!";
    var ch = document.getElementById("new_pass");
    }
    ch.innerHTML = msg;
    return false;msg 是全局变量。就算最后全部通过。页面还是会出现值。function pass() 中 var msg 一下;