我对编码真的很陌生,所以这就是我的问题。 如何使用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>
答案 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
返回所选选项的索引而不是其对象引用。因此您必须使用option
或value
。有关更多信息,请阅读this
和
试试this example