javascript - js控制input的value时提示value未定义
巴扎黑
巴扎黑 2017-04-11 12:05:48
[JavaScript讨论组]
    
    
    

上述代码为什么提示这一行:get_input[i].addEventListener('focus',function(){if(value==defaultValue){value='';}})中的value未定义?如何解决呢?谢谢

巴扎黑
巴扎黑

全部回复(4)
ringa_lee

你这里的value呢,是谁的value呢?

function values() {
                var get_input = document.getElementsByTagName("input");
                for(var i = 0; i < get_input.length; i++) {
                    get_input[i].addEventListener('focus', function() {
                        if(this.value == this.defaultValue) {
                            this.value = '';
                        }
                    });
                }
            };
            values();
PHP中文网

{if(value==defaultValue){value='';}
这一行中的value和defaultValue都未在上下文中被声明,你读取了未加声明的变量去做比较,自然会有上述报错,

你可以尝试一下this.value ==this.defaultValue试试。这里的this指向的是你当前监听的input所对应的dom对象

黄舟

你的value都没有申明,定义
var dom=get_input[i];
var value=dom.value;
dom.addEventListener('focus',function(){
var defaultValue='';
if(value==defaultValue){
value='';
}
});

大家讲道理

你的value什么时候赋值了?也不是函数参数,怎么会已经定义了呢?

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

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