как изменить значение текстового поля + jQuery + Struts2 - PullRequest
0 голосов
/ 31 марта 2012

У меня есть два текстовых поля A, B: я хочу сделать что-то вроде того, когда я введу что-то в текстовое поле A, это значение будет использовать его в каком-либо действии, и результат будет отображаться в текстовом поле B без нажатия кнопки отправки с использованием ajax. как я могу это сделать, пожалуйста? обратите внимание, что я использую Struts2

Ответы [ 2 ]

1 голос
/ 02 апреля 2012

Большая часть информации уже предоставлена ​​@alexanderb, и я считаю, что Jquery - хороший путь, теперь давайте перейдем ко второй половине вашего вопроса об использовании AJAX в вашем коде. Есть несколько способов отправить результаты из класса действий.

  1. Верните JSON из вашего класса действий и используйте приведенный выше код.
  2. Используйте тип результата потока в своем коде S2 и поместите данные в текстовое поле.

Тем не менее, я считаю, что JSON с Jquery - это хороший путь, который не только предоставляет вам возможность легко расширять функциональность в будущем, но и обеспечивает чистый путь. Struts2 предоставляет плагин, который может преобразовывать данные, отправляемые из вашего класса действий в JSON и все, что вам останется для анализа данных JSON в вашем пользовательском интерфейсе, чтобы заполнить текстовое поле. Подробнее о работе с JSON в s2 см. Плагин JSON для получения подробной информации

С плагином JSON ваш поток будет

  • Вызовите свой класс Action для определенного события в текстовом поле.
  • Сконфигурируйте свое действие для возврата данных JSON с помощью плагина S2-JSon.
  • Действие вернет JSON в код Jquery.
  • Разобрать данные JSON и заполнить текстовое поле значением
0 голосов
/ 31 марта 2012

Это должно быть легко. Предположим, у вас есть действие, которое принимает значение в виде строки и возвращает некоторую строку обратно, доступное по ссылке '/ app / service'.

Вы можете создать такой код для этого:

$(function() {

  $('#text_1').on('keyup', function() {

     var value = $(this).val();
     $.post('/app/service', JSON.stringify(value), function (r) {
       $('text_1').text(r);
     }); 

  });

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