为什么我的功能没被看到?

时间:2018-05-02 22:55:37

标签: javascript html

我在尝试根据下拉列表中的选择重定向用户时收到错误消息。我明白了:

  

未定义locationSelect       在HTMLSelectElement.onchange

我的<script>代码放在文档的头部 我也试着在元素之前和之后内联移动脚本而没有运气。

&#13;
&#13;
function locationSelect() {
  var e = document.getElementById("mothersLoc");
  var location = e.value;

  else if (location == "buff") {
    window.location.href = "https://www.place.com";
  } else if (location == "erie") {
    window.location.href = "https://www.place2.com";
  }
}
&#13;
<select id="mothersLoc" class="form-control" name="location" style="margin: 0 auto;padding-top:0px;padding-bottom: 0px;font-size: 14px;font-weight: 300;max-width:260px;margin-bottom: 10px" onchange="locationSelect()" required>
  <option value="" selected disabled hidden>Select a Location</option>
  <option value="erie">Erie, PA</option>
  <option value="buff">Williamsville, NY</option>
</select>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

要解决此问题,您需要做的就是删除第一个&#34;否则&#34;在有条件的。这应该是有道理的,考虑到你必须指定条件,然后才能指定 else 要做的事情,如果条件没有返回true。

&#13;
&#13;
function locationSelect() {
  var e = document.getElementById("mothersLoc");
  var location = e.value;

  if (location == "buff") {
    window.location.href = "https://www.place.com";
  } else if (location == "erie") {
    window.location.href = "https://www.place2.com";
  }
}
&#13;
<select id="mothersLoc" class="form-control" name="location" style="margin: 0 auto;padding-top:0px;padding-bottom: 0px;font-size: 14px;font-weight: 300;max-width:260px;margin-bottom: 10px" onchange="locationSelect()" required>
  <option value="" selected disabled hidden>Select a Location</option>
  <option value="erie">Erie, PA</option>
  <option value="buff">Williamsville, NY</option>
</select>
&#13;
&#13;
&#13;