Javascript jQuery submitHandler抱怨加载微调器
我将微调器放在submitHandler中,紧接着验证消息……我只希望它在ajaxSubmit期间处于活动状态,因此在JSON之前将其放在顶部似乎很自然。但jQuery抱怨*“未捕获的语法错误:意外的标记(*.I尝试在末尾使用逗号而不是半逗号,但它们都不起作用。我做错了什么Javascript jQuery submitHandler抱怨加载微调器,javascript,jquery,ajax,Javascript,Jquery,Ajax,我将微调器放在submitHandler中,紧接着验证消息……我只希望它在ajaxSubmit期间处于活动状态,因此在JSON之前将其放在顶部似乎很自然。但jQuery抱怨*“未捕获的语法错误:意外的标记(*.I尝试在末尾使用逗号而不是半逗号,但它们都不起作用。我做错了什么 submitHandler: function(form) { $("#registerform").ajaxSubmit({ >>>>>> $('#loadingDi
submitHandler: function(form) {
$("#registerform").ajaxSubmit({
>>>>>> $('#loadingDiv').show().html('<img src="images/loading.gif">');
url: 'action.php',
type: 'post',
success: function(resp) {
$('#loadingDiv').hide("fast");
$(".formbox").hide();
$(".thankyou").fadeIn("slow");
console.log('success');
},
fail: function(resp) {
$('#loadingDiv').hide("fast");
console.log('fail' + resp);
$("#registerform").css("border", "1px solid red");
}
});
}
});
submitHandler:函数(表单){
$(“#注册执行”).ajaxSubmit({
>>>>>>$('#loadingDiv').show().html('');
url:'action.php',
键入:“post”,
成功:功能(resp){
$('#loadingDiv')。隐藏(“快速”);
$(“.formbox”).hide();
美元(“.thankyou”).fadeIn(“慢”);
console.log('success');
},
失败:功能(resp){
$('#loadingDiv')。隐藏(“快速”);
控制台日志('fail'+resp);
$(“#registerform”).css(“边框”,“1px实心红色”);
}
});
}
});
您不能将这样的代码放入JSON对象中:
$('#loadingDiv').show().html('<img src="images/loading.gif">');
$('loadingDiv').show().html('');
尝试将其上移一行,使其位于调用ajaxSubmit
之前
我理解你的观点,这感觉很自然,但实际上你将用于发送AJAX请求的代码与操作DOM的代码混合在一起。鉴于成功和失败处理程序函数在调用时都隐藏了“加载”图像,你仍然应该看到所需的效果。尝试以下方法:
submitHandler: function(form) {
$("#registerform").ajaxSubmit({
url: 'action.php',
type: 'post',
success: function(resp) {
$('#loadingDiv').hide("fast");
$(".formbox").hide();
$(".thankyou").fadeIn("slow");
console.log('success');
},
fail: function(resp) {
$('#loadingDiv').hide("fast");
console.log('fail' + resp);
$("#registerform").css("border", "1px solid red");
},
beforeSubmit: function(arr, $form, options) {
$('#loadingDiv').show().html('<img src="images/loading.gif">');
}
});
}
});
submitHandler:函数(表单){
$(“#注册执行”).ajaxSubmit({
url:'action.php',
键入:“post”,
成功:功能(resp){
$('#loadingDiv')。隐藏(“快速”);
$(“.formbox”).hide();
美元(“.thankyou”).fadeIn(“慢”);
console.log('success');
},
失败:功能(resp){
$('#loadingDiv')。隐藏(“快速”);
控制台日志('fail'+resp);
$(“#registerform”).css(“边框”,“1px实心红色”);
},
提交前:函数(arr,$form,options){
$('#loadingDiv').show().html('');
}
});
}
});
你需要beforeSubmit函数把它放在上面的
ajaxSubmit
句柄之上,你在对象文字定义内,你不能只是把代码放在那里执行。我会试试的……如果我能刷新缓存的话……@Benjamin G。是的,这很有效。如果你回答了,我会选择它。谢谢你的帮助。很高兴我能参与uld帮助。似乎添加了其他答案,现在没有必要添加重复的答案:)事实上,如果您正在使用jQuery表单插件,这可能是最好的主意。请记住“失败”后面的逗号“但是,功能<代码>;-)我在问题中没有看到任何JSON对象,是吗?这个答案和Ben的评论都是正确的。我在调用ajaxSubmit之前放置了loadingDiv行。感谢您的回答。@Benjamin如果这不是正确的术语,很抱歉,但您知道我指的是传递给ajaxSubmit
的对象!不是对象…JSON,我只是指ajaxSubmit函数的语法。@ATG这不是正确的术语。JSON是一种用于传递数据的数据序列化格式(如XML)。上面的代码有一个JavaScript对象文本。JSON对象和JavaScript对象是不同的,但对于简单的数据可能看起来相同。例如,JSON对象可能不包含函数,所有属性都必须双引号。您可以通过键入JSON.stringify(myObject)
来查看JavaScript对象的JSON表示形式,还可以描述JSON语法:)