js获取输入框的值为什么一直是undefined

image.png
image.png
js代码

mounted() {

        let val = [];
        let str = "";
        let ipt = document.getElementById('ipt');
        ipt.addEventListener('keyup',function () {
            val.push(ipt.value);
            if(val.length){
                    if(val.length >= str.length) {
                    str += val;
                }else {
                    str = str.substr(0, val.length)
                }
                this.value = val.replace(/./g, '*')
            }
        }, false)
        
    },

阅读 6.6k
5 个回答

用vue为什么不用双向数据绑定呢?
还有你监听的keyup方法是否已触发?你的赋值是在这个方法触发后

? 为什么用原生的事件绑定 ?
直接在 template 里面绑定不香吗 ?

整个梳理了一下函数的思路,是把输入的内容变成 * 展示对吗?
1.为什么不用 input[type=password] ?
2.可以用 @change 缓存原始数据, :value + computed 输出 * 的形式实现保密,如果确实需要的话

this.value 改成 ipt.value

this指向的问题吧大概,需要用下箭头函数吧。

val有值啊 但是数组用replace方法肯定报错 val.replace is not a function

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题