【问题标题】:Form submit using jquery使用jquery提交表单
【发布时间】:2012-02-29 14:50:26
【问题描述】:

我写了一个这样的表单提交函数:

$("#form").submit(function(){
    // do something
});

表单是这样提交的:

document.formName.submit();

它不会触发我的功能。如果我在 jquery 中包装表单然后提交它,它工作正常。

$(document.formName).submit();

我在想将事件绑定到 jquery dom 对象也会触发原始 dom 对象上的事件。但在这种情况下不会发生。

例子:

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

【问题讨论】:

    标签: javascript jquery javascript-events


    【解决方案1】:
    document.formName.submit();
    

    不会触发事件,因为它是实际的 DOM 元素并且不会触发任何事件,

    同时

    $(document.formName).submit();
    

    是一个触发函数,用于在 JQuery 中触发事件。

    我建议你使用

    $('form').submit(); 
    

    提交表单或

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

    如果您只想触发该函数处理程序。

    【讨论】:

      【解决方案2】:

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

      这是一个演示行为的小提琴,请随意使用。

      http://jsfiddle.net/aZasZ/

      (我刚刚添加了 $("#form").submit() )

      【讨论】:

      • 你不明白我的意思。我正在使用 document.formName 提交表单。它不起作用。看看这个:jsfiddle.net/aZasZ/1
      • @emphaticsunshine:阅读 Qpirate 的回答。他在告诉你为什么!
      • @emphaticsunshine:看看我更新的答案。也许它可以提供帮助。
      【解决方案3】:

      你试过了吗

      $("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>
      

      更新:

      要实现您想要做的事情,您可以覆盖提交功能。看到这个fiddle
      感谢answer

      【讨论】:

        猜你喜欢
        • 2017-12-23
        • 1970-01-01
        • 2013-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多