ApacheBeeHiveを使用しています。私の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>