今天碰到一個很有趣的問題。
用From向提交數據,一是用<input type="submit"/>按鈕,一是通過JavaScript腳本:formElement.submit()。不管哪種方法都是很簡單的。但是今天我就在這個簡單的地方遇到了麻煩。
我正在做的頁面是用JavaScript準備數據填寫Form然後提交。然而,在IE6下通過JavaScript提交數據時頁面沒有反應(也沒有提示)!?奇怪的是,在FireFox/Opera下面一切正常?!
剛開始,我懷疑是程序的那個地方有邏輯錯誤,但是經過仔細檢查後排除了。上網搜一下,也沒有什麼結果。
再次思考這個問題,難道是因爲Form的數據還沒有準備好?因爲我的測試數據大概有十幾K的樣子,而微軟的東西總是喜歡異步處理,那麼就有這樣的可能:寫 入數據的函數返回並執行下面的submit(),但是實際上在IE內部並沒有完成整個過程,從而導致submit()失敗(但是爲啥就沒個提示呢)。
試一下,在submit()前先等一下,讓出處理時間:
......
function doSubmit(){formElem.submit();}
setTimeout(doSubmit,0)
......
轉一下,OK!!或許就是這個樣子。
最後,再鄙視一下IE6。