我正在使用 Apache BeeHive。我的 JSP 包含一个带有下拉框 (<netui:select>) 和提交按钮 (<netui:button>) 的表单 (<netui:form>)。当按下提交按钮时,将提交表单的默认操作(“doAction1”)。 我希望从下拉列表中选择一个选项时提交不同的操作(“doAction2”)。 (参见图 1)。
我的第一个想法是创建一个 JavaScript 函数,将表单的动作属性更改为新的动作名称,然后提交表单(参见图 2),但这不起作用。我发现标签将“doAction1”转换为完整的 URL,如http://localhost:7001/app/doAction1.do
.
我传递给 JavaScript submitForm(form, newAction) 方法的“doAction2”字符串无法将“doAction2”转换为适当的 URL(它可以,但只能以笨拙的方式)。我去寻找可以将普通操作名称转换为 URL 的 netui 标记,但我找不到。
那么,实现这一目标的正确方法是什么?
图 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>