以下为我的相关代码(不完整),高手帮忙看一下,判断密码位数及二次输入是否匹配的,ie打开总显示有错误(工具调试说是innner“”缺少对象,但改了人不对)
<p>密码:
    <input name="passwd" maxlength="16" autocomplete="off"onkeyup="javascript:SetPwdMsg();"onmouseout="javascript:SetPwdMsg;"onblur="javascript:SetPwdMsg();"type="password">
  </p>
  <p>密码确认:
    <input name="confirm_passwd" maxlength="16" autocomplete="off"onkeyup="javascript:SetPwdMsg();"onmouseout="javascript:SetPwdMsg;"onblur="javascript:SetPwdMsg();"type="password"></p>
<script language="javascript">
function SetPwdMsg(){
var pwd1=document.info_form.passwd.value;
var pwd2=document.info_form.confirm_passwd.value;
var pwdmsg1=document.all.pwdmsg1;
var pwdmsg2=document.all.pwdmsg2;
if(pwd1.length==0){pwdmsg1.innerHTML="";}else if(pwd1.length<6){innerHTML="请使用6位密码";}
else{pwdmsg1.innerHTML="";}
if(pwd1!=pwd2&&pwd2.length>0){innerHTML="密码不一致.";}else{pwdmsg2.innerHTML="";}
}
</script>

解决方案 »

  1.   

    innerHTML?怎么可能直接用啊,对象呢?
      

  2.   


    <p>密码: 
        <input name="passwd" maxlength="16" autocomplete="off" onkeyup="SetPwdMsg();" onmouseout="SetPwdMsg()" onblur="SetPwdMsg()" type="password"> 
      </p> 
      <p>密码确认: 
        <input name="confirm_passwd" maxlength="16" autocomplete="off" onkeyup="SetPwdMsg();" onmouseout="SetPwdMsg()" onblur="SetPwdMsg()" type="password"> </p> 
    <script type="text/javascript"> 
    function SetPwdMsg() { 
      var pwd1 = document.info_form.passwd.value; 
      var pwd2 = document.info_form.confirm_passwd.value; 
      var pwdmsg1 = document.all.pwdmsg1; 
      var pwdmsg2 = document.all.pwdmsg2; 
      if ( pwd1.length == 0 ) {
        pwdmsg1.innerHTML = "";
      }
      else if ( pwd1.length < 6 ) {
        pwdmsg1.innerHTML = "请使用6位密码";
      } 
      else {
        pwdmsg1.innerHTML = "";
      } 
      if ( pwd1 != pwd2 && pwd2.length > 0 ) {
        pwdmsg2.innerHTML = "密码不一致.";
      }
      else {
        pwdmsg2.innerHTML = "";
      } 

    </script>
      

  3.   

    回楼上的,是我帖子编辑漏了,应该为pwdmsg.innerHTML="建议使用6位以上密码“,还有漏了个pwdmsg2补上了,但仍然有错。
      

  4.   


     <p>密码: 
        <input name="passwd" maxlength="16" autocomplete="off" onkeyup="SetPwdMsg();" onmouseout="SetPwdMsg()" onblur="SetPwdMsg()" type="password" /> 
        <div id="pwdmsg1"></div>
      </p> 
      <p>密码确认: 
        <input name="confirm_passwd" maxlength="16" autocomplete="off" onkeyup="SetPwdMsg();" onmouseout="SetPwdMsg()" onblur="SetPwdMsg()" type="password" /> </p>
        <div id="pwdmsg2"></div>function SetPwdMsg() { 
      var pwd1 = info_form.passwd.value; 
      var pwd2 = info_form.confirm_passwd.value; 
      var pwdmsg1 = document.all.pwdmsg1; 
      var pwdmsg2 = document.all.pwdmsg2; 
      if ( pwd1.length == 0 ) {
        pwdmsg1.innerHTML = "";
      }
      else if ( pwd1.length < 6 ) {
        pwdmsg1.innerHTML = "请使用6位密码";
      } 
      else {
        pwdmsg1.innerHTML = "";
      } 
      if ( pwd1 != pwd2 && pwd2.length > 0 ) {
        pwdmsg2.innerHTML = "密码不一致.";
      }
      else {
        pwdmsg2.innerHTML = "";
      } 

    在IE7.0+下测试没问题
      

  5.   

    我使用的是IE8,难道与这有关,顺便问一下,innerHTML需要分配层或其他的空间才能显示出来吗,我是初学者。