java - 基于选择的更改事件的不同表单操作

标签 java beehive netui

我正在使用 Apache BeeHive。我的 JSP 包含一个带有下拉框 () 和提交按钮 () 的表单 ()。按下提交按钮时,将提交表单的默认操作(“doAction1”)。我希望在从下拉列表中选择一个选项时提交不同的操作(“doAction2”)。(请参阅图 1).

我的第一个想法是创建一个 JavaScript 函数,将表单的 action 属性更改为新的操作名称,然后提交表单(参见图 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>

最佳答案

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}')"/>

关于java - 基于选择的更改事件的不同表单操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/498943/

相关文章:

java - 以下是什么意思 "checked JMSException converted to unchecked"

java - 如何在 netui 数据转发器中使用 if 子句

javascript - 使用 netui 中继器创建 anchor 数组后,如何调用获取 anchor id 并执行查询的方法

java - 添加报价到列表

java - 当我与 null 进行 == 比较时出现 NullPointerException

java - hibernate单独的jar lib