8

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>
4

1 に答える 1

0
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}')"/>
于 2011-10-01T08:18:18.993 に答える