2013-02-26 49 views
0

我試圖在ecilipse中運行以下代碼並得到錯誤document.form.0 is Null or not an object。請幫我解決這個問題。我創建了一個動作類。不調用操作類:Document.form.0爲空或不是對象

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

回答

1

這是document.forms[0](注複數)。這將顯示在您的JavaScript控制檯中。

此外,從<head>(即「歡迎使用struts應用程序」部分)中刪除額外的東西。

並使用空標記形式爲空標記(即<html:text property="username" />)。

+0

非常感謝Dave.Always這些愚蠢的錯誤讓我付出代價。 – User1123123 2013-02-27 10:21:12