2014-07-22 42 views
-1

我開發了一個測驗模塊,其中每當用戶點擊submit按鈕時,該按鈕獲得disabled,然後重定向到下一個問題。表單提交按鈕有時不起作用

現在問題是有時submit按鈕不響應約4-5或更多的點擊,然後突然提交的表格,導致跳過4-5個問題。已嘗試使用document.form.submit甚至jQuery('#question_form').submit()。但仍然有少數用戶報告同樣的問題。

我無法爲自己創建相同的場景。

在我看來的網頁我有:

<form id="question_form" style="text-align:center;" name="question_form" method="post" action="/exam/259/calc_current_score?name=question" accept-charset="UTF-8"> 
    <!-- some fields to be submitted --> 
    <input type="submit" value="Submit" onclick="changeButtonText(event,this.form);" name="submit_button" id="submit_button" class="exam-btn-primary"> 

    </form> 

    <script type="text/javascript"> 
    function changeButtonText(e,form){ 

//if validation is true then it submits the form like this 
     error_notification.style.display="none"; 
     form.submit(); 
     jQuery('#submit_button').css({'background-color':'#C3CACD'}); 
     form.submit_button.disabled=true; 
     return true; 

//else if the validation fails then 'submit button' is not disabled 
     e.preventDefault(); 
    } 
    </script> 

所以,主要的問題是,即使當用戶選擇一個選項後點擊提交按鈕無論是形式被提交(最終將重定向到下一頁),也沒有按鈕獲得disabled(同樣,驗證成功時按鈕的顏色會改變),所以它們會持續點擊,這主要發生在Google Chrome。我不知道是因爲網絡連接速度慢還是資源加載時間較長。

用戶報告說,有時他們必須點擊多次以提交問題的答案,並且每當點擊問題跳過的次數多次時。例如,如果他們在submit button上點擊x次,他們就會前移x個問題,因此他們無法進行評分。

+0

請發佈您的代碼。除非我們無法回答您的問題,否則您已嘗試過? –

+0

1.您是否在點擊被觸發後以及在提交表單之後調用event.preventDefault? 2.你在使用渦輪鏈接嗎?是否發生了點擊事件不止一次觸發的變化? – vladCovaliov

+0

可能是用戶第一次點擊按鈕時表單正在提交,用戶不知道它並繼續點擊。在提交之前嘗試提醒以確定提交是否正常工作 – Sweetz

回答

0

那都是因爲jQuery被阻塞在Windows XP的機器。但我仍然刪除了submit標籤,並使用div標籤作爲按鈕,並解決了問題。

1

我遇到過類似的問題。在我的情況下,Android平板電腦上的瀏覽器有時只需一次點擊即可運行ontouch事件和onclick事件。點擊提交按鈕後,用戶點擊其他任何地方時就會發生這種情況。當在ontouchonclick處調用preventDefault();時問題解決。如何檢查你的用戶正在使用什麼樣的瀏覽器和終端?

地址:

OK,你的實際問題是「一個點擊提交按鈕,即使它被禁用」,不是嗎?

試試這個

<script type="text/javascript"> 
    function changeButtonText(e,form){ 
     form.submit_button.disabled=true; 

//if validation is true then it submits the form like this 
     error_notification.style.display="none"; 
     jQuery('#submit_button').css({'background-color':'#C3CACD'}); 
     form.submit(); 

//else if the validation fails then 'submit button' is not disabled 
     form.submit_button.disabled=true; 
     e.preventDefault(); 
    } 
</script> 
+0

用戶在桌面上使用瀏覽器。當我問他們時,他們說最初按鈕沒有響應任何點擊,但是當它響應時,他們跳過了很多問題,就好像每次點擊都是在沒有重定向到下一頁的情況下提交表單一樣。 – sahil

+0

服務器上是您的驗證碼嗎?在這種情況下,由於客戶端和服務器之間的時間延遲,用戶可以比驗證的響應更早進行下一次單擊。 – mitsu

+0

在同一頁面上沒有javascript驗證碼,例如用戶是否選擇了一個選項。 – sahil