我有一個表格,人們可以預定某個活動的座位。
它實際上是一個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;
});
「404. PAGE NOT FOUND」。 – j08691