0

次のコードをEclipseで実行しようとしましたが、エラーが発生しましdocument.form.0 is Null or not an objectた. 問題を解決するのを手伝ってください。アクションクラスを作成しました。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>

    <head>Welcome To struts Application.
        <title>Struts</title>
        <script language="javascript">

            function input() {
                alert('Insie input function');
                if (document.forms[0]) {
                    alert('true');
                    document.forms[0].reset();
                }

                var abs = '<%=request.getContextPath()%>'
                alert(abs);

                document.form[0].action=abs + "index.do?submit=execute";
                document.form[0].submit();
            }

        </script>
    </head>
    <body>
        <html:form method="post" action="/index">
            <html:text property="username"></html:text>
            <html:password property="password"></html:password>
            <html:button value="Hello" property="button" 
                onclick="javascript:input();"></html:button>
            <html:link page="/index.do">Test the Action</html:link>
        </html:form>
    </body>
</html>

Struts.config ファイルを次のように構成しました。

<action path="/index"
    name="indexform" scope="request" parameter="submit" 
    validate="false" type="com.work.Action.IndexAction"
>
    <forward name="success" path="success.jsp" />
    <forward name="failure" path="path.error" />
</action>
4

1 に答える 1

1

document.forms[0](複数形注意)です。これは JavaScript コンソールに表示されます。

また、余分なもの<head>(つまり、「Struts アプリケーションへようこそ」部分) を削除します。

また、空のタグには空のタグ フォームを使用します (例: <html:text property="username" />)。

于 2013-02-26T13:03:54.403 に答える