• 关于Discuz!NT中$(id)两次输入的密码不一致的问题原因


    在这次为客户修改论坛皮肤时,在头部加入了另一个登陆入口

    后客户反应注册时,即使两次输入的密码一样也提示密码不一致的错误

    后查找原因,发现论坛的JS方法$(id)返回的元素不是需要的,返回了我另行添加的登陆入口中的密码框元素,而不是注册表单内的密码框元素,两者的ID是不同的

    $(id)是document.getElementById的快捷方式

    但测试代码,感觉却是document.getElementById变成了document.getElementsByName方法了,而且是返回的第一个元素,即document.getElementByName

    很奇怪的问题

    <form id="form1" name="form1" method="post" action="">
      
    <label>
        
    <img type="text" name="password" id="password2" />
      
    </label>
    </form>
    <form id="form1" name="form1" method="post" action="">
      
    <label>
        
    <img type="text" name="password" id="password" />
      </label>
    </form>
    <script language="javascript">
    window.onload 
    = function (){
            alert(document.getElementById(
    "password").id);//提示的是password2
            alert(document.getElementsByName(
    "password").length);//提示的是2
    //        document.getElementById("selBox").value="dd";
        }
    </script>

    后来才发现为了兼容IE8Beta在页头中添加了<meta http-equiv="X-UA-Compatible" content="IE=7" />造成,去掉后恢复正常

  • 相关阅读:
    元素查找
    寂寞的堆
    爱丽丝·玛格特罗依德
    排序的代价
    数字串
    我心永恒
    滑动窗口
    魔法猪学院
    曦皓的幸运数
    曦皓的旅游
  • 原文地址:https://www.cnblogs.com/dreamcat/p/1687988.html
Copyright © 2020-2023  润新知