代码之家  ›  专栏  ›  技术社区  ›  codingbbq

在jQueryUI中,我们创建一个表单,并使用ajax提交它

  •  0
  • codingbbq  · 技术社区  · 15 年前

    我在我的页面中使用了一个jQueryUITabs插件,在其中一个选项卡中我放置了一个表单。例如,该选项卡调用一个页面form.php,该页面的form标记为html。现在form.php使用ajax和jquery提交表单。这听起来可行吗。

        $(document).ready(function(){
    
        $("form#formdata").submit(function() {
    
                var str = $("#formdata").serialize();
                $.ajax({
                type: "POST",
                url: "submit.php",
                data: $("#formdata").serialize(),
                success: function(msg){
                         alert(msg);
                        }
        });
    

    });

    });
    

    因此,上面的代码以my form.php的形式出现

    表单会被提交,但不是通过ajax,我会被引导到submit.php 我想在我的UI选项卡中反映结果。

    编辑:我放入preventdefault()并返回false,但它没有帮助。。

    4 回复  |  直到 15 年前
        1
  •  1
  •   czarchaic    15 年前

    return false 在ajax调用之后的表单提交函数中。

        2
  •  1
  •   Cheekysoft Moz Morris    15 年前

    $(document).ready(function() {
      $('form#formdata').submit(function(event) {
        event.preventDefault();
        var str = $('#formdata').serialize();
        $.ajax({
          type: 'POST',
          url:  'submit.php',
          data: $('#editmachine').serialize(),
          success: function(msg) { alert(msg); }
        });
      });
    });
    
        3
  •  0
  •   returnvoid    15 年前

    您必须通过在提交事件中返回false来防止这种行为:

    $(document).ready(function(){
    
        $("form#formdata").submit(function() {
    
                var str = $("#formdata").serialize();
                $.ajax({
                type: "POST",
                url: "submit.php",
                data: $("#editmachine").serialize(),
                success: function(msg){
                         alert(msg);
                        }
        });
    return false;
        });
    
    });
    
        4
  •  0
  •   codingbbq    15 年前

    这就是我所做的。

    在我的UI选项卡中显示代码

    <div id="tabs">
                <ul>
                    <li><a href="link.html">Link1</a></li>
                    <li><a href="form.html">Data</a></li>
                </ul>
    </div>
    

    html包含了表单的细节,从那里我开始使用ajax。

    所以为了更正它,我在同一页的div下面使用了表单细节

    <div id="tabs">
                    <ul>
                        <li><a href="link.html">Link1</a></li>
                        <li><a href="#form">Data</a></li>
                    </ul>
    
    <div id = "form">
    //form details here
    </div>
    
        </div>
    

    并在此页面上使用了ajax jquery代码。

    感谢所有回答我问题的人,特别感谢@cheekysoft

    希望这能派上用场。。