预订表格有效,但不提供反馈
Booking form works but does not give feedback
我有一个表格,人们可以在其中预订给定活动的座位。
它实际上是一个WordPress插件。当有人发送他的预订时,电子邮件通知会正确发送,活动预订状态也会相应更新。
问题是预订表格没有提供任何反馈。
点击"立即预订"后,图形将继续加载,并且不会显示任何反馈,例如"预订已成功发送"或"您的表格中有错误",即使预订已正确保存并通过电子邮件通知双方。
我想这是一个JavaScript问题,Firebug控制台没有显示任何错误...
所以这里是预订表格的代码来源:
$('#em-booking-form').submit( function(e){
e.preventDefault();
var em_booking_doing_ajax = false;
$.ajax({
url: EM.bookingajaxurl,
data:$('#em-booking-form').serializeArray(),
dataType: 'jsonp',
type:'post',
beforeSend: function(formData, jqForm, options) {
if(em_booking_doing_ajax){
alert(EM.bookingInProgress);
return false;
}
em_booking_doing_ajax = true;
$('.em-booking-message').remove();
$('#em-booking').append('<div id="em-loading"></div>');
},
success : function(response, statusText, xhr, $form) {
$('#em-loading').remove();
$('.em-booking-message').remove();
$('.em-booking-message').remove();
//show error or success message
if(response.result){
$('<div class="em-booking-message-success em-booking-message">'+response.message+'</div>').insertBefore('#em-booking-form');
$('#em-booking-form').hide();
$('.em-booking-login').hide();
$(document).trigger('em_booking_success', [response]);
}else{
if( response.errors != null ){
if( $.isArray(response.errors) && response.errors.length > 0 ){
var error_msg;
response.errors.each(function(i, el){
error_msg = error_msg + el;
});
$('<div class="em-booking-message-error em-booking-message">'+error_msg.errors+'</div>').insertBefore('#em-booking-form');
}else{
$('<div class="em-booking-message-error em-booking-message">'+response.errors+'</div>').insertBefore('#em-booking-form');
}
}else{
$('<div class="em-booking-message-error em-booking-message">'+response.message+'</div>').insertBefore('#em-booking-form');
}
}
$('html, body').animate({ scrollTop: $("#em-booking").first().offset().top - 50 }); //sends user back to top of form
//run extra actions after showing the message here
if( response.gateway != null ){
$(document).trigger('em_booking_gateway_add_'+response.gateway, [response]);
}
if( !response.result && typeof Recaptcha != 'undefined'){
Recaptcha.reload();
}
},
complete : function(){
em_booking_doing_ajax = false;
$('#em-loading').remove();
}
});
return false;
});
如果将
数据类型设置为 json
而不是 jsonp
,您的表单似乎效果更好。
通常,当您需要对另一个域进行 AJAX 查询时,您会使用 jsonp,而在这种情况下您不会这样做。
相关文章:
- 我应该使用Ng提交还是点击表格
- CSS表格:从列平移到整个表格宽度
- 将HTML表格导出到excel时,无法将数据加载到excel文件中
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 如何有效地将游戏数据存储在URL查询字符串中
- 如何使用Node.js最有效地解析网页
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- 滚动和表格
- 将谷歌自动完成地址信息放在页面上,而不是表格中
- Google电子表格getValue([cell containing ])不返回制表符
- 有效形式-始终只显示1个错误[角度]
- 打印预览没有应用程序页眉和页脚的html表格
- Javascript袖珍参考,第121页:这是怎么回事;猴子补丁”;方法应该有效
- 单击仅在第二次单击后有效
- 区分电子表格中的空单元格和0值
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 为什么自我执行匿名有效
- 使用外部数据创建仪表板(谷歌电子表格)-JavaScript
- TinyMCE - 允许表格单元格元素作为有效的 html
- 预订表格有效,但不提供反馈