2012-01-13 61 views
0

在我的jsp頁面中,我得到腳本錯誤。 錯誤消息是:document.forms [0]爲空不是一個對象。當我點擊SignOut。註銷工作正常,它重定向到default.jsp。但我的default.jsp不顯示任何東西只是一個空白頁面。我查看了default.jsp頁面的源視圖。整個頁面未加載。它只裝載到車身標籤的第一行。以下是default.jsp的代碼。如何解決這個問題,JavaScript錯誤:document.forms。是空的不是對象

<! doctype html> 
<html language="en"> 
<%@ page language="java" contentType="text/html" %> 
<%@ session ="false" %> 

<head> 
<script type="text/javascript"> 

function closeWarning(){ 

     document.forms[0].reset(); 

} 
    </script> 
</head> 

<body onLoad="closeWarning();" class="page-design">// page loaded till here 
<jsp:include flush="true" page="/myCart/header.jsp"/> 
//---other component of body---- 
</body> 

請建議一些如何解決這個問題。謝謝 。

回答

0

你絕不能無條件地認爲事物(如收集成員,如forms[0])在那裏。在你的代碼中這樣做是不好的風格,因爲它會觸發運行時錯誤。

要麼你打電話之前的方法對他們測試其是否存在:

if (document.forms[0]) { 
    document.forms[0].reset(); 
} 
// ...and two more 

,或者你使用不易出錯的方式,每一個現有的形式復位 - 在這種情況下,一個循環。

for (var i=0; i<document.forms.length; i++) { 
    document.forms[i].reset(); 
} 

我推薦後者。

+0

感謝Tomalak我已經使用您的建議,現在我沒有收到任何錯誤,但仍然沒有顯示在頁面上。仍然將頁面加載到標記的第一行。 – Kmme83 2012-01-16 12:37:04

+0

@ Kmme83你確定你的JSP輸出了合理的HTML嗎?你檢查過了嗎? – Tomalak 2012-01-16 12:49:47

+0

Jsp輸出正確的html,但不是每次都輸出。這是5次1次它不顯示任何東西 – Kmme83 2012-01-16 18:22:30

0

使用var forms = document.getElementsByTagName('form');而不是document.forms,然後遍歷它們以重置它們。我很確定你的頁面可能少於3個表單(在這種情況下,甚至沒有)。

+0

@ greut,謝謝你的回覆。你的意思是我應該使用它像

。如何迭代這個請給我參考任何鏈接。 – Kmme83 2012-01-13 13:12:29

相關問題