通过ajax提交在嵌套表单中提交子表单,无需页面刷新

时间:2016-08-17 13:09:26

标签: php jquery ajax

我试图通过ajax-jquery在父表单中提交一个子表单,这样它就不会刷新整个页面。代码是:

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Untitled Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function (e) {
        $(document).on('submit', '#form-2', function() {
            var data = $(this).serialize();
            $.ajax({
                type : 'POST',
                url  : 'a2.php',
                data : data,
                success :  function(data) {                     
                    $("#form-2").fadeOut(500).hide(function() {
                        $(".result").fadeIn(500).show(function() {
                            $(".result").html(data);
                        });
                    });

                }
        });

        return false;
    });

    }) // document ready ends here;
    </script>
    </head>
    <body>
    <form action="a1.php" method="post" name="form-1" id="form-1">
        <input type="text" name="f1" />
        <input type="text" name="f2" />
        <input type="text" name="f3" />
        <input type="text" name="f4" />
        <!-----form 2 ajax starts----->
        <form method="post" name="form-2" id="form-2">
            <input type="text" name="g1" />
            <input type="submit" id="sf2">
        </form><!-----form-2 ends----->
    </form><!-----form-1 ends----->
    </body>
    </html>

但它不起作用,它什么都不做。我也用过 - preventdefault() 有帮助吗?我试图在数据库中简单地提交form-2值,从中获取form-1的一些下拉列表获取所有选项值。

1 个答案:

答案 0 :(得分:0)

您可以使用:

    Group    Value   Alert
      A       0.20     1
      A       0.86     0
      A       1.42     1
      A       0.35     0

并使用普通按钮:

def make_alert(x, thr):
if x >= np.percentile(x, 1 - thr) | x <= np.percentile(x, thr):
    return 0
else:
    return 1 

pdf.groupby('Name').apply(lambda x: make_alert(x['Value'], AlertThr))

这不是好的风格,因为表格不应该嵌套。