javascript - Cannot read property 'addEventListener' of null,可否帮忙看看哪错了?
迷茫
迷茫 2017-04-10 17:39:10
[JavaScript讨论组]

<form>

    <input type="text" name="txtTel1" id="txtTel2" maxlength="3">
    <input type="text" name="txtTel2" id="txtTel2" maxlength="4">
    <input type="text" name="txtTel3" id="txtTel3" maxlength="3">
</form>

<script>

var EventUtil={
    addHandler:function(element,type,handler){
        if(element.addEventListener){
            element.addEventListener(type,handler,false);
        }else if(element.attachEvent){
            element.attachEvent("on"+type,handler);
        }else{
            element["on"+type]=handler;
        }
    },
    removeHandler:function(element,type,handler){
        if(element.removeEventListener){
            element.removeEventListener(type,handler,false);
        }else if(element.detachEvent){
            element.detachEvent("on"+type,handler);
        }else{
            element["on"+type]=null;
        }
    },
    getEvent:function(event){
        return event?event:window.event;
    },
    getTarget:function(event){
        return event.target||event.srcElement;
    }
};
(function(){
    function tabForward(event){
        var event=EventUtil.getEvent(event);
        var target=EventUtil.getTarget(event);
        if(target.value.length==target.maxLength){
            var form=target.form;
            for(var i=0,len=form.elements.length;i<len;i++){
                if(form.elements[i]==target){
                    if(form.elements[i+1]){
                        form.elements[i+1].focus();
                    }
                    return;
                }
            }
        }
    }
    var txtTel1=document.getElementById("txtTel1");
    var txtTel2=document.getElementById("txtTel2");
    var txtTel3=document.getElementById("txtTel3");
    EventUtil.addHandler(txtTel1,"keyup",tabForward);
    EventUtil.addHandler(txtTel2,"keyup",tabForward);
    EventUtil.addHandler(txtTel3,"keyup",tabForward);
})();

</script>

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
怪我咯
<form>
    <input type="text" name="txtTel1" id="txtTel1" maxlength="3">
    <input type="text" name="txtTel2" id="txtTel2" maxlength="4">
    <input type="text" name="txtTel3" id="txtTel3" maxlength="3">
</form>

看清楚 第一个 input 的 id 应该是 txtTel1,获取不到dom,当然添加不了事件啦

天蓬老师

<input type="text" name="txtTel1" id="txtTel2" maxlength="3">
id写错了~

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号