Hello,
- This is Definitely Possible. Please find the contactForm: function() Function Block in the js/functions.js File and replace the Entire Block with the following code:
contactForm: function(){
if( !$().validate ) {
console.log('contactForm: Form Validate not Defined.');
return true;
}
if( !$().ajaxSubmit ) {
console.log('contactForm: jQuery Form not Defined.');
return true;
}
var $contactForm = $('.contact-widget:not(.customjs)');
if( $contactForm.length < 1 ){ return true; }
$contactForm.each( function(){
var element = $(this),
elementAlert = element.attr('data-alert-type'),
elementLoader = element.attr('data-loader'),
elementResult = element.find('.contact-form-result'),
elementRedirect = element.attr('data-redirect');
element.find('form').validate({
submitHandler: function(form) {
elementResult.hide();
if( elementLoader == 'button' ) {
var defButton = $(form).find('button'),
defButtonText = defButton.html();
defButton.html('<i class="icon-line-loader icon-spin nomargin"></i>');
} else {
$(form).find('.form-process').fadeIn();
}
$(form).ajaxSubmit({
target: elementResult,
dataType: 'json',
success: function( data ) {
if( elementLoader == 'button' ) {
defButton.html( defButtonText );
} else {
$(form).find('.form-process').fadeOut();
}
if( data.alert != 'error' && elementRedirect ){
window.location.replace( elementRedirect );
return true;
}
if( elementAlert == 'inline' ) {
if( data.alert == 'error' ) {
var alertType = 'alert-danger';
} else {
var alertType = 'alert-success';
}
elementResult.addClass( 'alert ' + alertType ).html( data.message ).slideDown( 400 );
} else {
elementResult.attr( 'data-notify-type', data.alert ).attr( 'data-notify-msg', data.message ).html('');
SEMICOLON.widget.notifications( elementResult );
}
if( $(form).find('.g-recaptcha').children('div').length > 0 ) { grecaptcha.reset(); }
if( data.alert != 'error' ) { $(form).clearForm(); }
}
});
}
});
});
}
- Currently custom Upload Fields is not compatible with the jQuery Validation Plugin. We are definitely working on this and will make this compatible in the Future Updates. Thanks for your Patience.
Meanwhile, do let us know if we can help you with anything else or if you find any further issues with Canvas.