Мне нужно запросить у пользователя логин / регистрацию перед отправкой Gravity Form. Я применил шаги, упомянутые ниже:
При нажатии кнопки отправки в Gravity Form отображается всплывающее окно, в котором отображаются вкладки «Вход» и «Регистрация».
После успешного входа в систему / регистрации всплывающее окно закрывается и кнопка отправки гравитационной формы снова запускается. Но он не обрабатывается из-за e.preventDefault (), я думаю
jQuery(document).ready(function($){
var data = 'action=gp_check_user_status';
$.ajax({
url: gp_localize.adminurl,
type: 'GET',
data: data,
success: function(response) {
user_status = response;
console.log(user_status);
}
});
//Gravity Form Submission
$('#gform_submit_button_1').on('click',function(e) {
if(user_status == false) {
console.log("under false");
//e.preventDefault();
$('.xoo-el-login-tgr').trigger('click');
return false;
}else{
console.log("under true");
$( '.xoo-el-login-tgr' ).unbind( "click" );
return true;
}
});
//Login/Registration Process
//Popup(xoo-el-login-tgr) is processed here
var form_data = $form.serialize()+'&action=xoo_el_form_action';
$.ajax({
url: xoo_el_localize.adminurl,
type: 'POST',
data: form_data,
success: function(response){
$button.removeClass('xoo-el-processing').html(old_btn_txt);
if(response.error == 1){ //has errors
show_notice(response.notice,'error', $form);
}
else{
if($button.hasClass('xoo-el-lostpw-btn')){
$button.parents('.xoo-el-action-form').hide();
$button.parents('.xoo-el-fields').append(response.notice);
}
else{
user_status = true;
//show_notice(response.notice,'success', $form);
//$('.xoo-el-inmodal').css('display','none');
$('html, body , .xoo-el-container').removeClass('xoo-el-popup-active');
$('html, body , .xoo-el-container').removeClass('xoo-el-popup-active');
$( '.xoo-el-login-tgr' ).unbind( "click" );
$('#gform_submit_button_1').trigger('click');
}
}
}
})
}
});