First create ajax function to trigger when input field filled
jQuery(document).on('change, keyup', '.cert_number input', function(e) { get_key = jQuery(this).val(); jQuery.ajax({ url: '<?php echo admin_url('admin-ajax.php'); ?>', type: 'post', data: { action: 'data_chk_cert_status', bulk_cert_id: get_key, }, success: function(data) { console.log('status: '+data); if(data==1){ jQuery('.cert_number input').addClass('error'); jQuery('#gform_submit_button_10').attr('disabled', true); alert('Certificate no exist! Please use different number'); }else{ //console.log('good to go!'); jQuery('.cert_number input').removeClass('error'); jQuery('#gform_submit_button_10').removeAttr('disabled'); } }, error: function() { console.log("Error"); } }); });
Next Create Ajax function
add_action('wp_ajax_data_chk_cert_status' , 'data_chk_cert_status'); add_action('wp_ajax_nopriv_data_chk_cert_status','data_chk_cert_status'); function data_chk_cert_status(){ // WP_Query arguments $bulk_id = $_POST['bulk_cert_id']; $args = array ( 'post_type' => array( 'bulk_certificate' ), 'meta_query' => array( array( 'key' => 'sellers_certificate_number', 'value' => $bulk_id, ), ), ); // The Query $query = new WP_Query( $args ); // The Loop if ( $query->have_posts() ) { echo '1'; } else { echo '0'; } // Restore original Post Data wp_reset_postdata(); die(); }
Jagdish Sarma Asked question April 25, 2023