2011-09-26 85 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>"; 

這對我的工作瞬間。我不確定我的問題來自哪裏,但現在情況正常。祝你好運。