Различные действия формы, основанные на событиях выбора изменений
Я использую Apache BeeHive. Мой JSP содержит форму (
Вначале я хотел создать функцию JavaScript, которая изменяет атрибут действия формы на новое имя действия, а затем отправляет форму (см. Рисунок 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>
1 ответ
function submitForm(form, newAction) {
form.action = newAction + ".do";
form.submit();
}
или же
<c:url var="newActionUrl" value="/the/path/to/the/action/doAction2.do"/>
<netui:select dataSource="actionForm.field1"
optionsDataSource="${actionForm.field1Selections}"
onChange="submitForm(this.form, '${newActionUrl}')"/>