0
我不斷收到我的代碼錯誤。無法讀取null的屬性'addEventListener'錯誤
我想檢查按鈕是否在頁面上,如果是這樣繼續。該按鈕在加載時不在頁面上,而是在提交後替換表單的外部頁面上。然後,謝謝你的HTML頁面通過ajax加載。
var reloadButton = document.getElementById('reloadPage');
if (reloadButton.length > 0) {
function reloadPage() {
location.reload();
}
if (reloadButton.addEventListener) {
reloadButton.addEventListener('click', reloadPage, false);
} else {
reloadButton.attachEvent('onclick', reloadPage);
}
}
我明白,如果元素如果不存在,你會得到一個錯誤,但是爲什麼我創建了一個if語句。我應該以另一種方式檢查元素嗎?
謝謝@kellycode。這就解決了我的問題,只要讓錯誤消失。現在該按鈕不起作用,因爲它是一個外部頁面,它在表單提交之後用一個感謝消息替換了它的表單,而最初的表單並未加載該文檔。我如何解決這個問題,無需將內部腳本標記添加到加載並保留我的外部js文件的代碼的thank-you.html中? – 2014-10-05 06:03:38
這個問題似乎並不清楚。如果您的表單提交顯示不同的「謝謝」頁面。看起來,在您的「謝謝」頁面上,您並不是真的想要重新加載頁面,而是希望鏈接返回到原始頁面。或者,您可以使用AJAX提交表單,並且不會離開頁面,只需顯示「謝謝」您的成功回報,我認爲這是對錶單提交更清晰的方法,因爲您永遠不會丟失頁面狀態。 – kellycode 2014-10-06 15:24:04