What is the deal here?
JS FUNCTION ‘custom.js’
function validate() {
var email = jQuery("#billingemail").val();
if (isValidEmailAddress(email)) {
jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: {"action": "custome_ajax_email_check", "guestemail": email },
success: function(data){
data = jQuery.parseJSON(data);
if(data.result) {
alert('Email Exists');
return false;
} else {
alert('Email Does Exists');
return true;
}
}
});
} else {
return false;
}
}
JS ON CLICK ‘custom.js’
$('#mwb_logincoupon').on('click', '#validateguestemail', function (e) {
e.preventDefault();
validateemail = validate();
PHP AJAX
add_action( 'wp_ajax_custome_ajax_email_check', 'custome_ajax_email_check' );
add_action('wp_ajax_nopriv_custome_ajax_email_check', 'custome_ajax_email_check');
function custome_ajax_email_check(){
$email = $_POST['guestemail'];
// do check
if ( email_exists($email) ) {
$response->result = true;
}
else {
$response->result = false;
}
echo( json_encode( $response));
wp_die();
}
debugging the script the JS code goes into the success
function, so far as even triggering off the alert('Email Exists')
.. but the return
statement in the functon is never retrieved thus making validateemail
always return undefined
. Why?