Перенаправить ввод формы из сервлета в другую форму - PullRequest
1 голос
/ 12 апреля 2011

У меня есть форма, созданная сервлетом, которая должна заполнять поле ввода текста из поиска.Таким образом, форма выглядит следующим образом:

<form name="form1">
  <input type="text" readonly="true" value="" /> <button href="/searchServlet />
</form>

При нажатии кнопки открывается другая форма, которая выполняет поиск и отображает результаты в виде списка, из которого пользователь может выбрать любой результат.Идентификатор выбранного результата заполняет некоторые скрытые поля в форме.Теперь я получу данные этих скрытых полей в "form1"?Есть ли какой-нибудь Javascript для этой цели?Или я могу перенаправить ввод с одного сервлета на другой?

1 Ответ

1 голос
/ 12 апреля 2011

JavaScript действительно ваш друг здесь.Дайте также имя для ввода и дайте кнопке открыть диалог с помощью window.open().

<form name="form1">
  <input type="text" name="text1" readonly="true" />
  <button onclick="window.open('/searchServlet');">search</button>
</form>

Затем в HTML, сгенерированном /searchServlet и его JSP в диалогевы можете использовать window.opener, чтобы получить родительское окно, а затем оттуда делать обычные вещи document, как будто вы сидите в родительском окне.Вот простой базовый пример:

<button onclick="window.opener.document.form1.text1.value='1'; window.close();">1</button>
<button onclick="window.opener.document.form1.text1.value='2'; window.close();">2</button>
<button onclick="window.opener.document.form1.text1.value='3'; window.close();">3</button>

Конечно, вы хотели бы абстрагировать / рефакторизовать детализацию / дублирование в некоторой функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...