#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 для перезагрузки с сервера) но я никогда не использовал это.