2012-09-17 101 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

另一个选择是只避免点击按钮的默认行为(在这案件,提交表格),当他们不希望它被提交。 –