如果我尝试提交表单,我遇到了colorbox的问题,成功时彩盒仍然打开。 我试着添加colorbox.close();在成功,它工作,但如果我尝试再次单击链接打开表单,表单不显示 - 我只能看到关闭按钮和叠加。 我试图在成功后隐藏表单和叠加,但是再次 - 表单在第二次单击时没有打开。
我试图调整js文件 - 为关闭按钮分配相同的功能以提交按钮,但这当然无法正常工作。 如何在提交时关闭表格 - 请提出建议。
弹出窗体:
<div class="body" id="inline-popup">
<form action="index" method="post" id="form">
<fieldset>
<label>Name</label>
<input type="text" id="name" name="name" />
</fieldset>
<fieldset>
<label>URL (optional)</label>
<input type="text" name="url" id="url" />
</fieldset>
<fieldset>
<input type="submit" value="ok" class="submit" />
</fieldset>
</form>
</div>
colorbox call和ajax:
<script>
$(".popup").colorbox({inline:true, width:"300px", height:"100%"});
$('.submit').on('click', function(e){
$.ajax({
type: "POST",
url: '/pathname/submitForm',
data: $("#form").serialize(),
error: function(xhr, ajaxOptions, thrownError, data) {
err = Array();
err[0] = "Oops an error is occured";
console.log(err);
},
dataType: "json",
success: function(data) {
if(data.success=="yes") {
console.log(data.success);
} else {
console.log(data.error);
}
}
});
e.preventDefault();
});
</script>
答案 0 :(得分:1)
试试这个:
success: function(data) {
if(data.success=="yes") {
$.fn.colorbox.close();
console.log(data.success);
}