2011-09-26 87 views
4

我意识到在我的开发过程中,Google Chrome上的表单提交有一定的延迟,使用javascript提交HTML表单确认Google Chrome上的延迟

所以我试着用小的html页面测试,以确定延迟是否是由我的应用程序引起的。但它仍然在测试页面中发生。

我只是不想确认表单的onsubmit事件,因为会有多个提交用于不同的目的。

所以这里是我的测试html。

<html> 
<head><title>Test</title></head> 
<body> 
<script type="text/javascript"> 
    var currentTime = new Date() 
    document.write(currentTime.getMilliseconds()); 
</script> 
<form name="input" method="post"> 
<input type="submit" value="Submit" onclick="javascript:return confirm('Are you sure to submit?');" /> 
</form> 
</body> 
</html> 

我该如何避免这种延迟?我需要改变任何事情吗?

请更正,如果由我的HTML造成的不是很好的形式或缺少的东西。

谢谢。

+2

如果Chrome在onclick方法中显示任何对话框,Chrome会延迟提交表单... – Elangovan

+0

我完全不理解这个问题。延误在哪里?你的测试文件如何分析这个延迟?另外,我会避免使用“输入”作为表单名称。 – graphicdivine

+0

@Elangovan,你是说这是正常的吗?还是在应用程序中需要更改? – aunghn

回答

0

您的代码有两个问题。不太重要的是你在onclick attibute中使用javascript:,这是不需要的。 on*属性已隐式评估为JavaScript - 它们不像超链接。

其次,最重要的是,您在屏幕上显示的计时器值为而非显示了您的想法。它只是获取当前日期和时间,并提取毫秒组件。这基本上给你一个介于0到999之间的随机数。如果这就是你用来确定提交延迟的方法,那你就错了。请放心,只要在确认对话框中按下确定按钮,表单就会立即提交,并且您遇到的任何延迟完全是由页面加载时间引起的(假设没有页面卸载脚本)。

0

奇怪的是我有一个类似的问题,因为你,但它也出现在FF,以及...返工的事情,我想出了之后:

<form name='doClear' action='index.php' method='post' > 
    <input type='submit' value='Clear All' onclick='return confirm(\"Are you sure you want to clear all? This cannot be undone!\");' /> 
</form>"; 

这对我的工作瞬间。我不确定我的问题来自哪里,但现在情况正常。祝你好运。