2016-06-13 61 views
3

我有一些JavaScript偵聽表單提交事件,它只是顯示一個加載器,而POST請求發生。它在Chrome中完美運行。但在Safari中,將顯示「Processing ...」文本,但不顯示加載div。Javascript插入的DOM元素沒有出現在表單提交事件

window.onload = function() { 
    function loadSpinner() { 
    document.getElementsByClassName('container')[0].innerHTML = "Processing... <div id='loader'>Loading...</div>"; 
    } 

    var form = document.getElementById('uploadForm'); 
    if (form.attachEvent) { 
    form.attachEvent("submit", loadSpinner); 
    } else { 
    form.addEventListener("submit", loadSpinner); 
    } 
} 
+0

在一些情況下,字段不通過驗證(例如,「需要」 ATTRS等),野生不會觸發本機提交事件。 – primetwig

+0

@primetwig當我做'console.log('test');'in'函數loadSpinner()...'它在控制檯上顯示'test'時提交 –

+0

然後我假設div實際上被插入,但由於一些CSS規則而不可見。你可以檢查它嗎? – primetwig

回答

0
嘗試

安裝一個新的div元件到「容器」元件,而不是設置HTML

$('.container').append("<div id='loader'>Loading...</div>")