关于JS:使用一个变量存储input.value 的值,为什么该变量取不到值?

发布于 2022-09-03 23:29:45 字数 307 浏览 38 评论 0

代码如下:

<input type="text" id="input"/>
<script>
var txt = document.getElementById("input");
var name = txt.value;
    txt.onblur = function(){
        alert(name);
    }
</script>

以上代码并不能取值,结果如图:

图:弹出的对话框一片空白,什么都没有。

不知道为什么传不了图,唉,诸事不顺啊!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

晚风撩人 2022-09-10 23:29:45

取不到值的原因是你还没有输入值你的代码

var name = txt.value;

就已经执行了,所以取值为空。这样即可:

var txt = document.getElementById("input");   

txt.onchange = function(){  //觉得用onchange更好,onblur也可以的
    var name = txt.value;  //取值要在监听事件之后,不然在之前取值就为空
    alert(name);
}

哈哈,诸事不顺,学会调试吧,会顺很多。放到浏览器,打开chrome开发者工具,对js代码打断点,进行调试,查看你取的值,你就会发现问题。发现问题解决问题,自己发现答案比别人告诉答案更惊喜。而调试会给你惊喜。

美男兮 2022-09-10 23:29:45

你的脚本在网页载入的时候就已经执行了,这个时候你的输入框还没有输入值,自然取到的就是空

抠脚大汉 2022-09-10 23:29:45

在加载这个代码的时候,你还没有输入值,当然输出什么都没有啦

我不咬妳我踢妳 2022-09-10 23:29:45

代码时序逻辑不对,错在取值在赋值之前。

<input type="text" id="input"/>
<script>
var txt = document.getElementById("input");
    txt.onblur = function(){
    var name = txt.value;
        alert(name);
    }
</script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文