IE6中Form.submit不提交的问题

来源:互联网 发布:保卫萝卜 源码 百度云 编辑:程序博客网 时间:2024/04/30 10:05
今天碰到一个很有趣的问题。
用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 并期待 IE7 。