/* * Function which validates a form field using ajax */ function validateAjaxField(field, controller) { //console.log('validateAjaxField run, field: '+field+' and controller: '+controller); $("#"+field).blur( function () { //alert('validaite field: '+field); fieldName = $(this).attr('id'); fieldValue = $(this).val(); $.post('/'+controller+'/ajax_validation', { field: fieldName, value: fieldValue }, function(error) { if(error.length > 1) { //console.log('error with '+field+' error: '+error); $("#"+field+"_error").html(error); //$("#"+field+"_error").show("slow"); $("#"+field+"_error").hide(); // hiding element first makes fade in animation smooth $("#"+field+"_error").fadeIn("slow"); } else { //console.log('success on '+field); //$("#"+field+"_error").hide("slow"); $("#"+field+"_error").fadeOut("slow"); } }); }); } $(document).ready( function() { // get fields from session which are set using AjaxValidationComponent var controller = 'contacts'; var fields_to_validate = 'name,email,phone,message'; if (fields_to_validate != '') { fields = fields_to_validate.split(","); for (i = 0; i < fields.length; i++) { field = fields[i]; validateAjaxField(field, controller); } } });