【问题标题】:How to POST without using Submit?如何在不使用提交的情况下发布?
【发布时间】:2010-12-30 18:31:34
【问题描述】:

我想发布表单但不想使用提交方法。如果我使用 JQuery,如何处理 Form 输入控件?

【问题讨论】:

    标签: php jquery html json


    【解决方案1】:

    您可以使用 jQuery AJAX .post function 函数。一个例子(未经测试,但应该可以工作):

    <script>
    function postit(obj) {
      var data = $(obj).serialize();
      $.post($(obj).attr("action"), data, function() {
        //Put callback functionality here, to be run when the form is submitted.
      });
    }
    </script>
    <form action="posthandler.php" onsubmit="postit(this); return false;">
    <input type="text" name="field">
    <input type="submit">
    </form>
    

    另外,阅读serialize

    (当然在使用此代码之前,您需要在代码中包含 jQuery 库)。

    【讨论】:

      【解决方案2】:

      只需创建一个由您想要的任何事件触发的函数,例如:(在另一个问题中找到此代码)

      function example() {
      // get all the inputs into an array.
          var $inputs = $('#myForm :input');
      
          // not sure if you wanted this, but I thought I'd add it.
          // get an associative array of just the values.
          var values = {};
          $inputs.each(function() {
              values[this.name] = $(this).val();
          });
      }
      

      之后,您可以对输入值做任何您想做的事情。不过,您可能需要考虑使用更高级的处理,有很多插件可以提供这种功能。

      【讨论】:

        【解决方案3】:

        我不确定我是否正确理解了这个问题。

        如果您不想使用submit(),您可以使用Ajax 通过jQuery.post() 执行相同的操作。主要区别在于您必须自己从输入字段中构建键值数据,而不是浏览器自动构建,并且您不会刷新页面。

        【讨论】:

        • 你能说明一下jquery post吗?
        • 我给的链接里有很多例子,这让我发布一个例子有点毫无意义。
        【解决方案4】:

        无论是发布功能还是加载功能都可以使用。

        @PRK 您是否尝试在页面加载或用户点击按钮时发布表单?

        加载(网址、参数、回调)

        例如:

        $("#loadItHere").load("some.php", {somedata: 1});
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-29
          • 2019-07-22
          相关资源
          最近更新 更多