

Struts 1.3でWebアプリケーションを開発しています。  
そこで`html:button`を利用した処理を行っているのですが、  
以下のJavaScriptエラーが表示されます。

[code]

    TypeError: document.XxxForm.submit is not a function
    
[/code]

jspの記述は

[code]

    <html>
    …
    <script language="javascript">
        function func(){
            document.XxxForm.submit();
        }
    </script>
    …
    <html:form action="/act1">
        <html:submit property="AaaButton" value="Aaa"/>
        <html:button property="BbbButton" value="Bbb" onclick="func()"/>
    </html:form>
    <html:form action="/act2">
    </html:form>
    …
    </html>
    
[/code]

となっています。

Bbbボタンが押下された際にact2（act1とは別の）アクションを呼びたいと考えております。  
エラーの解決方法、または実現方法等、分かる方がいらっしゃいましたら、  
回答よろしくお願いします。


CC BY-SA 3.0
2017-08-08T13:00:52.510
37020
2018-08-24T15:01:44.633
2017-08-08T23:17:11.050
19110
24681
question
javascript java html struts
ボタンが押された際にアクションを呼びたい


まず、document.XxxForm.submit is not a function というエラーですが、原因はdocument.XxxForm
というFormが存在しないからです。

func()関数で、act2アクションを呼びたいという事ですから、func()関数で下記のFormのSubmitを呼び出せば良いのだと思います。

[code]

    <html:form action="/act2">
    </html:form>
    
[/code]

だとすると、上記の部分を以下のように変更してください。

[code]

    <html:form name="XxxForm" action="/act2">
    </html:form>
    
[/code]

FormにXxxFormという名前を設定することで、document.XxxForm.submit()でact2が呼び出せるようになるはずです。


CC BY-SA 3.0
2017-08-09T03:07:11.810
37041
2017-08-09T03:07:11.810
217
37020
answer


document.forms[0].submit()を使ってみてください。


CC BY-SA 3.0
2017-08-14T06:00:43.693
37178
2017-08-14T06:00:43.693
23688
37020
answer