Получение ошибки при извлечении значения из выпадающего списка

#java #javascript #html #jsp

#java #javascript #HTML #jsp

Вопрос:

Я создал простую jsp страницу, которая включает в себя только одну выпадающую страницу, предназначенную для тестирования. я поместил небольшое условие в выпадающий список, но оно не выполняется с условием

код выглядит следующим образом

 <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 , что условие не выполняется
, может кто-нибудь помочь здесь?

Комментарии:

1. ваш код javascript никогда не вызывается, поэтому ничего не будет напечатано. Вы можете просто обернуть его в функцию и вызвать функцию при каком-либо событии пользовательского интерфейса.

2. где ваш JavaScript код? есть только html и scriplet ..

3. @JunedAhsan это внутри html , я не вставил полный код

4. @amol вы должны опубликовать правильный код, чтобы получить правильную справку.

5. @JunedAhsan я опубликовал сейчас

Ответ №1:

Я не думаю if(color == "empty") , что это то, как вы сравниваете строки в java. Это должно быть if(color.equals("empty"))

Комментарии:

1. это javascript, а не java

2. Это скриптлет, поэтому он следует синтаксису Java

3. спасибо @NikhilTalreja, сейчас он работает, но я видел == , что оператор иногда используется (работает), поэтому я использовал его здесь

Ответ №2:

Вы можете использовать следующий код :

 <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>
 

Ответ №3:

Я думаю, что скриптлет (код между <%%> ) выполняется при выполнении страницы, поэтому с помощью этого кода вы не можете получить какой-либо параметр, потому что форма еще не была отправлена… Вы можете сделать что-то вроде

  <select name="color" onchange="printValue(this)">
 

затем в каком-либо теге скрипта используйте значение, подобное

     function printValue(sel){
      var value = sel.value;
      alert("selected : "   value);
    }
 

или вы можете попробовать использовать метод location.reload(true) или, возможно, window .location.reload(true); (true для перезагрузки с сервера) но я никогда не использовал это.