Java 基于选择更改事件的不同表单操作
我用的是ApacheBeehive。我的JSP包含一个带有下拉框()和提交按钮()的表单()。按下submit按钮时,表单的默认操作(“doAction1”)将被提交。当从下拉列表中选择一个选项时,我希望提交一个不同的操作(“doAction2”)。(参见图1) 我的第一个倾向是创建一个JavaScript函数,将表单的action属性更改为新的action名称,然后提交表单(参见图2),但这不起作用http://localhost:7001/app/doAction1.do 我传递给JavaScript submitForm(form,newAction)方法的“doAction2”字符串无法将“doAction2”转换为适当的URL(当然可以,但只能以一种笨拙的方式)。我一直在寻找一个netui标记,它可以将简单的动作名称转换为URL,但我找不到 那么,实现这一目标的正确方法是什么 图1-JSP代码片段Java 基于选择更改事件的不同表单操作,java,beehive,netui,Java,Beehive,Netui,我用的是ApacheBeehive。我的JSP包含一个带有下拉框()和提交按钮()的表单()。按下submit按钮时,表单的默认操作(“doAction1”)将被提交。当从下拉列表中选择一个选项时,我希望提交一个不同的操作(“doAction2”)。(参见图1) 我的第一个倾向是创建一个JavaScript函数,将表单的action属性更改为新的action名称,然后提交表单(参见图2),但这不起作用http://localhost:7001/app/doAction1.do 我传递给JavaS
提交
图2-更改表单操作和提交表单的JavaScript函数
函数submitForm(表单,newAction){
form.action=newAction;
表单提交();
}
或
<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>
<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}')"/>