轉:IE6中Form.submit不提交的問題

今天碰到一個很有趣的問題。
用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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章