Запуск события при изменении значения ввода/выбора с помощью веб-потока Spring

Я хочу инициировать изменение потока, когда пользователь меняет значение в поле выбора:

<select>
  <options>
    <option>1</option>
    <option>2</option>
  </options>
</select>

После прочтения этой документации: https://docs.spring.io/spring-webflow/docs/current/reference/html/spring-mvc.html#spring-mvc-resuming-on-event не нашел ответ. Пожалуйста, может ли кто-нибудь помочь? Любые советы приветствуются.

Изменение, которое я хочу добиться, состоит в том, чтобы установить кнопку для активации, когда значение было выбрано из поля выбора.


person masterdany88    schedule 04.03.2019    source источник


Ответы (1)


есть 2 способа сделать это:

Во-первых, используя строго javascript (все в пользовательском интерфейсе), используя onchange и/или onclick на выбранном вами элементе, чтобы найти кнопку и активировать/деактивировать ее.

Во-вторых, использование Webflow:

  • отправить форму на onchange
  • повторно визуализировать представление с соответствующими изменениями

Предполагая, что вы хотите использовать здесь веб-поток, вы можете использовать это:

JSP

<form id="myFormId" action="${flowExecutionUrl}" method="post">
    <select id="mySelectId" onchange="Spring.remoting.submitForm('mySelectId', 'myFormId', {fragments:'body', _eventId: 'myChangeEvent'}); return false;">
        ...
    </select>
</form>

Поток

<view-state id="myViewStateId">
    <transition on="myChangeEvent" validate="false" bind="true">
        <!-- change some property to enable your button -->
    </transition>
</view-state>

Это повторно отобразит представление, и свойство/атрибут, который вы используете для включения/отключения кнопки, будет обновлено. Важно использовать validate="false", иначе ошибки проверки могут помешать успешному переходу.

person rptmat57    schedule 04.03.2019
comment
Я тестировал. Это не работает. Событие не вызывается, когда я меняю выбранное значение. - person masterdany88; 05.03.2019
comment
Можете ли вы опубликовать свой код jsp и код потока? где-то может быть другая проблема - person rptmat57; 05.03.2019
comment
также для полноты я добавил часть действия формы - person rptmat57; 05.03.2019
comment
@masterdany88 убедитесь, что у вас есть идентификатор формы, действие и метод POST. - person rptmat57; 11.03.2019