2012-06-26 2 views
0

Я написал код, который должен очистить форму при открытии страницы пользователя. Он работает в FF, но не в IE, любая идея почему?Javascript window.onload не работает в IE

window.onload = clearForm() 

    function clearForm() 
{ 

("load event detected!"); 

}; 
+2

Это * есть * дубликат. Должно быть. :-) –

ответ

4

Эта линия:

window.onload = clearForm() 

звонкиclearForm, а затем присваивает возвращаемое значение window.onload, точно так же как x = foo(); звонки foo и присваивает результат x. Удалите скобки:

window.onload = clearForm 

Отдельно я бы настоятельно рекомендовал не опираясь на ужасе, который automatic semicolon insertion. Всегда поставить всю необходимую запятую:

window.onload = clearForm; 

(занятно, вы не нужны один в конце вашего function clearForm() { ... }, потому что это объявление функции, а не утверждение Это безвредно, хотя.).

+0

отлично, спасибо человеку –

+1

@NasanErt: Не стоит беспокоиться. FYI, потому что вы новичок здесь: http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work Не имеет значения еще 10 минут или около того. :-) –

+0

Я бы назвал это выражение функции выражением функции, так как [functions statements] (http://kangax.github.com/nfe/#function-statements) выглядят как объявления функций, но вы можете объявить их условно в браузерах на базе Gecko. –

0

Изменения window.onload = clearForm() к window.onload = clearForm; иначе из-за () вы присваиваете результат вашей функции window.onload

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