我创建了一个简单的jsp
页面,其中只包含一个下拉页面jsut用于测试目的。我在下拉列表中放了一个小条件,但它没有运行条件
代码如下
<html>
<body>
<form method="get" name="form">
<select name="color">
<option value="empty">Select Color</option>
<option value="a">red</option>
<option value="b">blue</option>
<option value="c">green</option>
<option value="d">yellow</option>
</select>
<input type="submit" value="Submit">
</form>
</body>
</html>
<% String color = request.getParameter("color");
if(color == "empty"){
out.println("blah blah blah");
}
%>
没有打印任何内容,这意味着if
条件未运行
有人可以帮忙吗?
答案 0 :(得分:1)
我不认为if(color == "empty")
是你如何比较java中的字符串。
它应该是if(color.equals("empty"))
答案 1 :(得分:0)
您可以使用以下代码:
<select name="color" onchange="getComboA(this)>
<option value="empty">Select Color</option>
<option value="a">red</option>
<option value="b">blue</option>
<option value="c">green</option>
<option value="d">yellow</option>
</select>
在javascript中:
<script>
function getComboA(sel) {
var value = sel.value;
if(value == "empty"){
alert("Blah Blah");
}
}
</script>
答案 2 :(得分:0)
我认为在执行页面时会执行scriptlet(&lt; %%&gt;之间的代码),因此使用此代码,您无法获取任何参数,因为该表单尚未提交... 你可以做点什么
<select name="color" onchange="printValue(this)">
然后在一些脚本标签上使用像
这样的值 function printValue(sel){
var value = sel.value;
alert("selected : " + value);
}
或者您可以尝试使用方法location.reload(true)或者window.location.reload(true); (确实从服务器重新加载)但我从未使用过这个。