2012-02-29 55 views
0

我已經寫上提交這樣的表格的函數提交形式使用jQuery

document.formName.submit(); 

它不會觸發我的功能。如果我用jquery包裝表單然後提交它,它工作正常。

$(document.formName).submit(); 

我在想綁定事件到jquery dom對象也會觸發原始dom對象上的事件。但在這種情況下不會發生。

例子:

http://jsfiddle.net/aZasZ/1/

回答

1
document.formName.submit(); 

,因爲它是實際的DOM元素不會觸發事件,並且不會觸發關閉任何事件

$(document.formName).submit(); 

是事件觸發的觸發功能在JQuery中。

我會建議你使用

$('form').submit(); 

提交表單或

$('form').triggerHandler('submit') 

在你想要射擊只有函數處理的情況。

0

你試過

$("form#myForm").submit(); 

,這是整個代碼:

<form id="MyForm" method="POST" action=""> 
     Field1:<input type="text" id="field1" value="" /> 
     Field2:<input type="text" id="field2" value="" /> 
     <input type="submit" value="send" /> 
    </form> 

    <button id="ShowLink">Vai</button> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $("form#MyForm").submit(function() { 
       alert("Hello!"); 
       return(true); 
      }); 
     }) 
    </script> 

UPDATE:

要實現您正在嘗試執行的操作,您可以覆蓋提交功能。看到這個fiddle
致謝此answer

+0

這將工作,因爲你提交了一個jquery對象 – emphaticsunshine 2012-02-29 14:54:29

0

你可能只是弄錯了你的ID。

下面是演示行爲的小提琴,隨意使用它。

http://jsfiddle.net/aZasZ/

(我只是說$( 「#形式」)。提交())

+0

你不明白我。我正在使用document.formName提交表單。它不起作用。看看這個:http://jsfiddle.net/aZasZ/1/ – emphaticsunshine 2012-02-29 14:59:24

+0

@emphaticsunshine:閱讀Qpirate的答案。他告訴你爲什麼! – LeftyX 2012-02-29 15:24:13

+0

@emphaticsunshine:看看我更新的答案。也許它可以幫助。 – LeftyX 2012-02-29 15:29:59