JSP: Как передать все (выбранные и невыбранные) опции раскрывающегося списка сервлету? - PullRequest
0 голосов
/ 04 октября 2018

У меня есть раскрывающийся список в моем веб-приложении JSP, и я добавляю и удаляю элементы из входного текста, используя код JavaScript.Теперь я хочу передать все (выбранные и невыбранные) элементы раскрывающегося списка сервлету, используя кнопку отправки.Как мне это сделать?Следующий код возвращает только значение выбранного элемента:

String ST=request.getParameter("friendList");

Мои коды HTML и JavaScript:

<form class="form" action="project" method="post">
<input type="text" id="In_Name" placeholder="my new friend's name"/>
<div class="addIcon" onclick="addFriend()"></div>
<div class="removeIcon" onclick="removeFriend()"></div>
<select size="5" name="friendList" id="friendList">
</select>
<button type="submit" name="MyButton">Submit</button>
</form>

<script>
function addFriend() {
    var Str=document.getElementById("In_Name").value;
    if(Str!="")
    {
        var opt = document.createElement("option");
        opt.text = Str;
        opt.value = Str;
        document.getElementById("friendList").options.add(opt);
    }
}
function removeFriend() {
    var x = document.getElementById("friendList");
    if(x.selectedIndex != "-1")
        x.remove(x.selectedIndex);
}
</script>

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Вы уже использовали атрибут name. Так что вам просто нужно добавить одну строку в ваш сервлет.И добавьте еще один атрибут в ваш jsp-файл «множественный».

use: String values ​​[] = request.getParameterValues ​​("friendList");

0 голосов
/ 04 октября 2018

Я хочу передать все (выбранные и невыбранные) элементы раскрывающегося списка сервлету, используя кнопку отправки

Браузеры, передают только выбранные параметры, чтобы отправитьвсе параметры, используйте атрибут multiple.Также вам понадобится удобный скрипт для выбора всех параметров перед отправкой формы.

Изменение в сервлете:

String[]ST=request.getParameterValues("friendList");

Изменения JSP:

<form class="form" action="project" method="post" onsubmit="selectAll('friendList')">
    ....
    <select size="5" name="friendList" id="friendList" multiple=''></select>
    ....
</form>

<script>
...
function selectAll(id){
   var options = document.getElementById(id).options;
   var len = options.length;
   while(len --){
      options[len].selected = true;
   }
}
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...