Javascript 保持fancybox在ajax错误时处于打开状态
按照我的代码结构,fancybox会在短暂显示错误消息后自动关闭。我希望它保持打开状态,以便用户可以修复他/她的错误。我做错了什么Javascript 保持fancybox在ajax错误时处于打开状态,javascript,jquery,ajax,fancybox,Javascript,Jquery,Ajax,Fancybox,按照我的代码结构,fancybox会在短暂显示错误消息后自动关闭。我希望它保持打开状态,以便用户可以修复他/她的错误。我做错了什么 $(document).ready(function(){ $("#message_form").on("submit", function(){ if ($("#guest_name").val().length < 1 || $("#guest_message").val().length < 1) {
$(document).ready(function(){
$("#message_form").on("submit", function(){
if ($("#guest_name").val().length < 1 || $("#guest_message").val().length < 1) {
$("#guest_error").show();
$.fancybox.resize();
return false;
}
$.fancybox.showActivity();
$.ajax({
type: "POST",
cache: false,
url: "/guestbook/",
data: $(this).serializeArray(),
success: function(data){
$.fancybox(data);
},
});
return false;
});
})
$(文档).ready(函数(){
$(“#消息表格”)。在(“提交”,函数(){
if($(“#guest_name”).val().length<1 |$(“#guest_message”).val().length<1){
$(“#来宾_错误”).show();
$.fancybox.resize();
返回false;
}
$.fancybox.showActivity();
$.ajax({
类型:“POST”,
cache:false,
url:“/guestbook/”,
数据:$(this).serializeArray(),
成功:功能(数据){
$.fancybox(数据);
},
});
返回false;
});
})
您有一个用于缓存ajax错误的错误回调
$(文档).ready(函数(){
$(“#消息表格”)。在(“提交”,函数(){
if($(“#guest_name”).val().length<1(“#guest_message”).val().length<1){
$(“#来宾_错误”).show();
$.fancybox.resize();
返回false;
}
$.fancybox.showActivity();
$.ajax({
类型:“POST”,
cache:false,
url:“/guestbook/”,
数据:$(this).serializeArray(),
成功:功能(数据){
$.fancybox(数据);
},
错误:函数(e){
var错误_数据=e;
$.fancybox(错误数据);
}
});
返回false;
});
})我删除了
$.fancybox.resize()代码>行,它工作了。是的。这给了我同样的结果——我在fancybox中短暂地看到了错误消息,然后该框关闭。另外,我看不出这里的success和error函数有什么区别代码>
if ($("#guest_name").val().length < 1 || $("#guest_message").val().length < 1) {
$("#guest_error").show();
$.fancybox.resize();
return false;
}
$.fancybox.showActivity();
$.ajax({
type: "POST",
cache: false,
url: "/guestbook/",
data: $(this).serializeArray(),
success: function(data){
$.fancybox(data);
},
error: function(e){
var error_data = e;
$.fancybox(error_data);
}
});
return false;
});