2011-05-15 91 views
0

所以這個場景在我的頁面上我有一個表單和一個倒數計時器。如果倒數計時器達到0:00,我有一個聲明激活並應該提交表單。無法使用JQuery提交表單

這裏要說的是聲明:

if (Todays_Date >= Target_Date) { 
     clearTimeout(timeoutID); 
     $('#testForm').submit(); 
     alert("Timeup, Submitting exam...."); 
     return; 
    } 

實際發生的事情是,它觸發,則定時器停止(清除超時)和警報彈出。但是表單不會提交併將用戶帶到操作頁面。

我已將所有代碼複製到此jsFiddle中以佈置基本原理。

倒計時的目標是在底部的HTML中傳遞。你會看到countdown()調用。

我真的在一個泡菜,並會欣賞有人幫助。

:我知道這是不是一個安全的方法等

千恩萬謝

回答

1

你的表單元素稱爲submit

<input name="submit" type="submit" value="Complete Test"> 

更名所以像:

<input name="btnSubmit" type="submit" value="Complete Test" /> 

而且你的代碼將工作。

當表單包含元素叫做submit,指formElement.submit將參考要素,而不是實際的submit方法 - 這是很常見的問題。

+0

你絕對是英雄。謝謝。 – buymypies 2011-05-15 13:05:46

+0

Cheers @ buymypi(:-D)訣竅是提醒'submit'的值,在你的情況下,它將它顯示爲輸入元素。 – 2011-05-15 13:09:44

0

您使用

$("#testForm").trigger('submit'); 

你是有約束力提交事件給一個函數去的方式,這意味着一旦發生提交,就會發生你在函數中指定的東西(你沒有的東西)。

+0

好,所以我只測試一下,但仍然沒有運氣:( – buymypies 2011-05-15 12:54:09

+0

如果你要查看jQuery源代碼,你會看到調用'.submit()'也調用了這個確切的代碼。:) – 2011-05-15 12:58:54