从下拉列表重定向

时间:2016-03-22 07:05:17

标签: javascript jsp

我对编码真的很陌生,所以这就是我的问题。 如何使用JSP和Javascript重定向到另一个页面?还是Servlet?我不了解Servlet中的一个问题,这就是我使用Javascript的原因。当我选择任何选项并单击“提交”时,没有任何反应。

这是我的代码:

JSP:

<li id="myUl" runat="server">

</li>

Javascript:(google-d)

<form>
    <select id="module_id" name="module_id" />
        <option value="0" selected /></option>
        <option value="1" /> CD101 </option>
        <option value="2" /> CD102 </option>
        <option value="3" /> CD103 </option>
        <option value="4" /> CD104 </option>
        <option value="5" /> CD105 </option>
        <input type="button" value="Submit" onclick ="myChoice();" />
    </select>
</form>

1 个答案:

答案 0 :(得分:1)

function myChoice(){
  var s = document.getElementById("module_id");
  var module_id = s.value;
  console.log(module_id );
  if (module_id === "1")
      alert("ok");
  if (module_id === 1)
      alert("not ok");
}
<form>
    <select id="module_id" name="module_id" />
        <option value="0" selected /></option>
        <option value="1" /> CD101 </option>
        <option value="2" /> CD102 </option>
        <option value="3" /> CD103 </option>
        <option value="4" /> CD104 </option>
        <option value="5" /> CD105 </option>
        <input type="button" value="Submit" onclick ="myChoice();" />
    </select>
</form>

将其替换为您的代码:

function myChoice(){
      var s = document.getElementById("module_id");
      var module_id = s.value;//changed

      if (module_id === "1")//changed
          window.location.href = "response.jsp";
      if (module_id === "2")//changed
          window.location.href = "http://www.google.com";
    }

说明:

您获得了string类型值,并且您正在与int进行比较,===运算符会比较值以及类型,这样就不会发生重定向。

有关更多信息,请阅读此精彩答案https://stackoverflow.com/a/359509/3143384

javascript的selectedIndex返回所选选项的索引而不是其对象引用。因此您必须使用optionvalue。有关更多信息,请阅读this 和 试试this example