2012-01-16 4 views
2

Я использую этот скрипт в своем jsp. некоторое время, когда я нажимаю на эту кнопку , он отлично работает, но некоторое время он не работает и показывает Ошибка скрипта: document.form - это null, а не объект. что когда-либо я искал, я обнаружил, что документ не закончил загрузку когда я звоню сброс. Как я могу проверить, загружен ли документ или нет?как проверить DOM готов с использованием JavaScript?

<head> 
    <script type="text/javascript"> 
    function closeWarning(){ 

     document.forms[0].reset(); 

    } 
    </script> 
</head> 

<body onLoad="closeWarning();" 
<jsp:include flush="true" page="/myCart/header.jsp"/> 
<div> 
// content of body 
</div> 
</body> 
+0

Возможный дубликат. Проверьте http://stackoverflow.com/search?q=dom+ready –

+0

В вашем примере нет кнопки, и я думаю, что вы уже дали ответ: дерево DOM будет готово, когда инициируется событие ONLOAD элемента BODY. –

+0

Duplicate. Проверьте [Есть ли встроенная реализация Javascript документа jQuery document.ready()?] (Http://stackoverflow.com/q/1283445/617996) – PrimosK

ответ

1

Если вы не хотите использовать JQuery, вы можете использовать слушатель событий для DOMContentLoaded, как:

if(document.addEventListener) document.addEventListener("DOMContentLoaded",closeWarning,false);

Это будет работать для всех, кроме IE, который использует onreadystatechanged, как:

document.onreadystatechange=function() { if(this.readyState=="complete") { closeWarning(); } }

+0

спасибо cegfault, теперь он не показывает ошибку скрипта, но содержимое тела загружается до первой строки тега . и страницы остаются пустыми – user1057697

0

Одним из способов является использование JQuery и это ready() функция.

Смежные вопросы