我正在开发一个yii2应用程序。我从Bootstrap模式弹出窗口中选择数据并提交到我有插入查询的控制器操作。从模态popupt提交数据后,提交数据显示一个白页,其中包含" 1"在页面的左上角,而不是仅关闭弹出窗口并刷新div但是当我检入数据库时,数据被插入。
我的代码部分: 弹出电话
<a class="btn btn-danger" data-toggle="modal" data-target="#modalgroup">+Add</a>
模态弹出代码:
<?php
Modal::begin([
'id' => 'modalgroup',
'size' => '',
'header'=>'<h3>Select Groups</h3>']);
$mymodel = new \app\models\Contact();
echo $this->render('group', ['mymodel'=>$mymodel]);
Modal::end();
?>
弹出窗体
<?php
$form = ActiveForm::begin(['id'=>'select_group']);?>
<div class="row" style="height: auto;">
<div class="col-sm-8">
<div class="form-group form-group-sm field-profile-name">
<?php
$wishmodel = new GroupTran();
$wish=Group::find()->all();
$options =ArrayHelper::map($wish,'group_id','group_name');
echo $form->field($model, 'group_id')->checkboxList($options)->label('Select Groups').'<br>';
?>
</div>
</div>
</div>
<div class="form-group">
<?= Html::submitButton('Select', ['class' => 'btn btn-primary']) ?>
</div>
<?php
ActiveForm::end();
?>
我的Js:
$url= Yii::$app->request->baseUrl.'/contact/group';
$( "#select_group" ).on('beforeSubmit', function(e) {
e.preventDefault();
var form= $(this);
$.ajax({
type: 'post',
url: '{$url}',
data: form.serialize(),
success: function () {
$(form).trigger("reset");
$('#modalgroup').modal('hide');
$('#groupdiv').load(window.location.href + '#groupdiv');
//$("#groupdiv").load(location.href+" #groupdiv>*");
}
});
return false;
});
我的控制器动作
public function actionGroup()
{
$model = new Groups();
$post= Yii::$app->request->post();
$connection = \Yii::$app->db;
foreach(($post['GroupTran']['group_id']) as $data){
$wishdata = Groups::find()->where(['group_id'=>$data])->all();
if(!$wishdata)
$connection->createCommand()->insert('tbl_groups',['group_id'=>$data])->execute();
}
return true;
}
请帮助
答案 0 :(得分:1)
您的on
表单即beforeSubmit
的事件无效。尝试将其替换为submit
。
因此,form
正在提交。
替换$( "#select_group" ).on('beforeSubmit', function(e) {
至$( "#select_group" ).on('submit', function(e) {