2012-09-17 59 views
1

我有一個問題提交表單與jQuery的submit()問題與jQuery .submit()

我的網頁上沒有名稱爲name="submit"name="Submit"的任何元素,ID也是如此。

我的jQuery代碼位如下:

$(document).ready(function() { 

    $(document).on('click', "#appSubmit",function(e){ 

      e.preventDefault(); 
      var value = $("#time").val(); 
      if(value == "--"){ 
       $("#err-time").dialog("open"); 
      }else{ 
       alert("1"); 
       var dummy = $("#appSubmit").val(); 
       alert(dummy); 
       $("#appSubmit").submit(); 
       alert("2"); 
      } 

    }); 
}); 

所有警報的正常工作,甚至alert(dummy);打印出正確的值。該alert("2");打印出來,所以它甚至沒有上破$("#appSubmit").submit();

我的提交按鈕是

<input type="submit" name="appSubmit" id="appSubmit" value="Apply"> 

,將不勝感激的任何想法,謝謝。

編輯:

對不起,我忘了張貼的實際問題。當它在我的代碼中遇到$("#appSubmit").submit();行時,表單沒有提交。它也不會中斷。

在jQuery網站上,他們給出的例子附加了事件到<i+n+p+u+t type="submit">,但我試圖通過嘗試將事件附加到窗體的ID並且我仍然得到相同的行爲。通過線沒有任何破壞。

我可以讓它開始工作的唯一方法是,如果我使用了基本的JavaScript調用提交document.applySubmit.submit();

這是罰款,並做這項工作。但我仍想知道這一點。

編輯2:

我將嘗試.closest方法。直到現在我還不知道那是什麼。謝謝。我會發布,如果它的工作。

編輯3:

這個問題發佈了3次我?如果是這樣,我很抱歉。我一定不能找到自己的問題,並假設我從未完成整個問題提交流程,並試圖在第二次/第三次正確發佈問題。

編輯: Blazemonger的建議工作。

+0

我沒有得到你是什麼問題... – silentw

回答

10

你不要.submit()一個按鈕,你.submit()的一種形式。嘗試:

$("#appSubmit").closest('form').submit(); 

或更好:

$(this).closest('form').submit(); 
+2

另一個選擇是隻避免點擊按鈕的默認行爲(在這案件,提交表格),當他們不希望它被提交。 –