我正在编写一个客户端应用程序,该应用程序的成分将为您提供鸡尾酒配方。输入后,单击按钮将搜索成分。如果输入“全部”,您将被重定向到包含所有配方的页面。
我刚刚开始此操作,因此请注意,所有功能都是我完成的唯一部分。
工作正常。作为练习,当您输入“全部”时,我会将其重定向到Facebook的URL。它无处不在(没有新的更改)开始向我抛出错误,它没有读取输入,而是将其读取为null。
相关的HTML:
<input type="text" id="alcohol">
<h4 class="btn" type="submit" onclick="whole()"> Search</h4>
JS:
var input = document.getElementById('alcohol').value;
function whole() {
if (input == "all") {
window.location = "http://www.facebook.com";
};
};
这里发生了什么事?为什么停止工作?
最佳答案
我们需要确定一个更大的背景才能确定,但是看来您可能在获得酒精含量最新值之前就太早了。
您可以更改为使whole()
函数与酒精字段的当前值一起使用:
function whole(){
var input = document.getElementById('alcohol').value;
if (input =="all"){
window.location="http://www.facebook.com";
};
};
请记住,这是:
var input = document.getElementById('alcohol').value;
在代码行运行时获取当前值。以后对该字段所做的任何更改都不会影响
input
变量。该变量仅包含特定时间点的值。避免此类问题的最简单方法是在需要时才获得正确的价值,而不是早一些。关于javascript - JavaScript突然无法读取值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38678765/