从下拉列表中检索值时出错

时间:2014-06-19 04:11:04

标签: java javascript html jsp

我创建了一个简单的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条件未运行 有人可以帮忙吗?

3 个答案:

答案 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); (确实从服务器重新加载)但我从未使用过这个。