猿问

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

代码如下:

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

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

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

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


白猪掌柜的
浏览 1046回答 1
1回答

呼如林

取不到值的原因是你还没有输入值你的代码var&nbsp;name&nbsp;=&nbsp;txt.value;就已经执行了,所以取值为空。这样即可:var&nbsp;txt&nbsp;=&nbsp;document.getElementById("input");&nbsp;&nbsp;&nbsp; txt.onchange&nbsp;=&nbsp;function(){&nbsp;&nbsp;//觉得用onchange更好,onblur也可以的 &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;name&nbsp;=&nbsp;txt.value;&nbsp;&nbsp;//取值要在监听事件之后,不然在之前取值就为空 &nbsp;&nbsp;&nbsp;&nbsp;alert(name); }哈哈,诸事不顺,学会调试吧,会顺很多。放到浏览器,打开chrome开发者工具,对js代码打断点,进行调试,查看你取的值,你就会发现问题。发现问题解决问题,自己发现答案比别人告诉答案更惊喜。而调试会给你惊喜。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答