0

我是 Yii2 的新手。这是我的第一个严肃的应用程序。

问题是我的 AJAX 模态表单 sens POST 两次。

这就是我所说的模态形式

                Modal::begin([
                    'header' => '<h2>Hello world</h2>',
                    'toggleButton' => ['label' => 'click me'],
                    'id' => 'order_form'
                ]);


                Modal::end();
                ?>

这是我的 JS 代码

$this->registerJs('
$(function() {
$( "#orderer_form" ).on( "submit", function( event ) {
  event.preventDefault();
  event.stopImmediatePropagation();
  var formData = $( this ).serialize() ;
   alert($("#orderer_form").serializeArray());
       $.ajax({
            type: "POST",
            url: "/order",
            data: formData,
            success: function(msg){
                $("#thanks").html(msg);
                $("#order_form").modal("hide"); 
            },
            error: function(){
            //alert("failure");
            }
        });
    return false;
});
});
');

这就是我呈现模态视图的方式

<?php echo \Yii::$app->view->renderFile('@app/views/common/order_form.php', array('model'=>new salestable()));?>

这是结果

在此处输入图像描述

4

1 回答 1

1

尝试将 js 更改为此,对我来说这似乎总是可以解决问题。

$('body').on('submit', '#orderer_form', function() {
    // Your code here
});
于 2015-11-16T08:17:10.490 回答