2013-04-03 25 views
0

我正在創建一個網站,允許用戶選擇任意數量的答案之一。最終,我已經把這一切工作到一定程度。該系統可以工作,但如果用戶在頁面上超過30秒,提交似乎不起作用。沒有超時設置應該導致這個網站,我似乎無法找到什麼會導致它在jQuery .post。下面是我使用的代碼:jQuery .post不總是運行

function submitAns(str, num) { 
    var radios = document.getElementsByName(str); 
    for (var i = 0, length = radios.length; i < length; i++) { 
     if (radios[i].checked) { 
      $.post('saveAnswer.aspx', { 
       'answer': String(radios[i].value), 
       'question': num, 
       'comment': String($("#comment").val()) 
      }, function (msg) { 
       if (msg == "failed") { 
        jAlert('Error Saving Data.'); 
       } else { 
        window.location = "Voting-Page"; 
       } 
      }); 
     } 
    } 
} 

這是一個形式的按鈕,用戶點擊後打,看起來與此類似:

<input type='radio' name='group0' value='Yes'>Yes 
<input type='radio' name='group0' value='No'>No 
<textarea id='comment' rows='7' cols='40'></textarea> 
<input type="submit" name="submitbtn" value="Submit" onclick="submitAns('group0','0');" class="btnSubmit" /> 

如果我提交了30中的形式第二個時間框架沒有任何問題。否則,頁面被重新加載並且表單不被提交。我已經嘗試通過添加'timeout': 300000來爲.post添加大超時,但這仍然無效。我也嘗試刪除jAlert並檢查任何網站錯誤(未找到)。這裏可能是什麼問題?

+0

你檢查錯誤您的JS控制檯? – Blender

+0

有沒有在頁面 –

+0

哪個瀏覽器是用來測試它的形式 –

回答

0

我所看到的是有一個submit按鈕,在你的頁面中,提交按鈕的默認操作提交表單,以防止它,你可以從onclick事件處理程序返回false

但令我感到困惑的是,在這種情況下它必須一致,30秒的部分在這裏沒有任何效果。

任何方式嘗試改變onclick處理程序中提交按鈕

<input type="submit" name="submitbtn" value="Submit" onclick="submitAns('group0','0'); return false;" class="btnSubmit" /> 
+0

這樣做了!感謝您的幫助。 – Swicky