Я использую Apache BeeHive. Мой JSP содержит форму () с раскрывающимся списком () и кнопку отправки (). При нажатии кнопки «Отправить» будет отправлено действие формы по умолчанию («doAction1»). Я хочу отправить другое действие («doAction2») при выборе параметра из раскрывающегося списка. (см. Рисунок 1).
Первым делом я хотел создать функцию JavaScript, которая изменяет атрибут формы action на новое имя действия, а затем отправляет форму (см. Рисунок 2), но это не сработало. Я обнаружил, что тег переводит «doAction1» на полный URL-адрес, например http://localhost:7001/app/doAction1.do
.
Строка "doAction2", которую я передаю в метод JavaScript submitForm (form, newAction), не может преобразовать "doAction2" в соответствующий URL-адрес (что вполне возможно, но только в хитрой форме). Я искал тег netui, который мог бы преобразовать простое имя действия в URL, но я не смог его найти.
Итак, как правильно это сделать?
Рисунок 1 - Фрагмент кода JSP
<netui:form action="doAction1" method="post">
<netui:select dataSource="actionForm.field1"
optionsDataSource="${actionForm.field1Selections}"
onChange="submitForm(this.form, 'doAction2')"/>
<p/>
<netui:button>Submit</netui:button>
</netui:form>
Рисунок 2. Функция JavaScript для изменения действия формы и отправки формы
<netui:scriptBlock placement="before">
function submitForm(form, newAction) {
form.action = newAction;
form.submit();
}
</netui:scriptBlock>