dropdowllist выбранный элемент из JavaScript в сервлет - PullRequest
0 голосов
/ 23 марта 2010

Можно ли получить значение из переменной JavaScript и использовать это значение в сервлете Java? Я прочитал об этом, но все, что я нашел, это получить значение JavaScript через форму отправки.

Что мне нужно, это:

  • У меня есть поле со списком выбора HTML.
  • Мне нужно извлечь выбранное значение из этого и использовать это значение для запросить базу данных.

Возможно ли это?

Ответы [ 2 ]

1 голос
/ 23 марта 2010

Хорошо, JavaScript запускается на клиенте, а сервлет запускается на вашем сервере. Так что вам нужно как-то отправить значение на ваш сервер. Два (типичных) способа сделать это - использовать форму отправки или Ajax . Поскольку вы упоминаете, что значение исходит из поля выбора, я предполагаю, что вы хотите что-то обновить на странице, когда пользователь меняет выбор, вероятно, вам подойдет Ajax.

Если объем данных, необходимых для обновления, действительно невелик, вероятно, будет часто изменяться, или если предполагаемый клиент действительно ограничен в пропускной способности или вычислительной мощности (например, мобильные устройства), вы также можете встроить все данные, необходимые на странице выборочно скрывать и показывать данные на основе выбора без использования вызова сервера. Если это возможно в вашем сценарии, скорее всего вы будете чувствовать себя быстрее и отзывчивее, чем при использовании Ajax.

0 голосов
/ 23 марта 2010

Вы можете использовать AJAX-запрос для публикации значения на стороне клиента на сервере. Поскольку AJAX является проблемой без какой-либо библиотеки javascript из-за кросс-браузерных проблем, в этом примере используется популярная jQuery библиотека.

HTML:

<form id="example-form" action="/path/to/servlet" method="post">
    <select> .... </select>
    <div class="result"> The result from server is displayed here. </div>
</form>

Javascript:

$(function() {
    var f = $('#example-form');
    $('select', f).change(function() {
        $('.result', f).html('Wait...').load(f.attr('action'), f.serialize());
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...