我正在编写一个客户端应用程序,该应用程序的成分将为您提供鸡尾酒配方。输入后,单击按钮将搜索成分。如果输入“全部”,您将被重定向到包含所有配方的页面。

我刚刚开始此操作,因此请注意,所有功能都是我完成的唯一部分。
工作正常。作为练习,当您输入“全部”时,我会将其重定向到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/

10-08 22:37
查看更多