2009-10-05 110 views
0

由于我不想进入的原因,我们需要通过Javascript单击一个提交按钮(而不是一个纯按钮)。通过javascript点击的提交按钮不会在IE6中“提交”

我们通过获取提交按钮的句柄,然后在该按钮上执行.click()方法来实现这一点。这在FireFox中完美工作,但在IE6中它只能部分工作。

该按钮接收到点击,并且与按钮“onClick”事件关联的代码触发(我们可以通过观察调试器中的服务器端代码来观察这一点),但是,页面从不“刷新”它应该的时候的方式点击“提交”按钮。

由于这个工程在FireFox中,我们认为它是另一个IE6的错误,但我没有找到解决办法的运气。我们不能直接刷新页面,因为我们需要绘制它,好像它是从提交按钮POST请求中绘制的。

+0

触发单击事件后,错误控制台中是否有任何错误(在状态栏的左下角查找图标)? – tj111 2009-10-05 17:58:55

+1

为什么不直接调用表单对象上的submit()方法? – 2009-10-05 17:59:50

+1

对不起,当人们通过按钮点击提交表单时,我忍不住要发牢骚。我非常喜欢在文本字段中输入以提交表单:我的鼠标有cooties。请避免这种可用性错误的pa。 – 2009-10-06 03:38:58

回答

2

获取对表单元素的引用并激发submit事件不是更容易吗?

var form = document.forms[0]; 
form.submit(); 
+0

正如我上面提到的,我们必须“点击”按钮(form.submit不会)。 – jasongullickson 2009-10-05 18:31:07

1

我在ASP.net中有同样的问题。我们必须“点击”按钮,因为在ASP.net中发生的形式多于表单中正常的.submit()。它必须知道你点击了哪个按钮,以便它可以匹配到服务器端的Click事件。

0

尝试使用setTimeout延迟点击1毫秒。