我有一个按钮,当我点击一个模态弹出窗口时。然后我输入数据并使用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不是函数。
修改
我在Yiiframework论坛Link
中发布了相同的问题并且他们说我无法关闭模态,因为模态()函数在jQuery中不存在是这样吗?
我能够使用此代码$("#ajaxModal").hide();
隐藏模态
但是背景仍然是灰色(与模态加速时颜色相同)
修改
嗨,我试过这个
$("#ajaxModal").hide();
$("body").removeClass("modal-open");
$(".modal-backdrop").remove();
然后我要关闭模态,但下次当我点击按钮模态时没有弹出。
答案 0 :(得分:0)
我找到了错误的原因。我在bootstrap.min.js之前调用了modal。这就是我得到TypeError: $(…).modal is not a function
的原因
错误。