我有一个按钮,当我单击它时,会弹出一个模式。然后我输入数据并使用ajax提交表单。提交数据后,我希望模式关闭。这是我尝试过的(相关代码)
$form=$this->beginWidget('CActiveForm', array(
'id'=>'employee-task-form',
'enableAjaxValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
'afterValidate'=>'js:function(form,data,hasError){
if(!hasError){
$.ajax({
"type":"POST",
"url":"'.CHtml::normalizeUrl(array('employeetasks/create','ajax')).'",
"data":form.serialize(),
"success":function(){
toastr.success("Saved successfully.", "Success");
$("#ajaxModal").modal("close");
// $("#ajaxModal").modal("hide");
},
});
}
}'
),
));
<script type="text/javascript">
jQuery('document').ready(function($){
jQuery("body").on("click", ".popup", function (e)
{
var url = $(this).attr("href");
$("#ajaxModal").find(".modal-body").load(url + "?ajax=1", false, function (responseText, status, req)
{
if (status != "error") {
$("#ajaxModal").modal({backdrop: "static", keyboard: true});
}
else
toastr.error("Failed to load", "Loading failed");
});
e.preventDefault();
});
});
</script>
数据正在被保存,即 Ajax 函数正在工作,烤面包机也是如此,但模式没有关闭,我收到类似 Uncaught TypeError: $(...).modal is not a function 的错误。
编辑
我在 Yiiframework 论坛链接中发布了同样的问题
他们说我无法关闭模式,因为modal() 函数在 jQuery 中不存在是这样吗?
我能够使用此代码隐藏模态,$("#ajaxModal").hide();
但背景仍为灰色(与弹出模态时的颜色相同)
编辑
嗨,我试过这样
$("#ajaxModal").hide();
$("body").removeClass("modal-open");
$(".modal-backdrop").remove();
然后我要关闭模态但下次当我单击按钮时模态不会弹出。