Added templates for demo
This commit is contained in:
119
flux/flux-5/js/form_script.js
Normal file
119
flux/flux-5/js/form_script.js
Normal file
@@ -0,0 +1,119 @@
|
||||
"use strict";
|
||||
|
||||
/* Ajax Form Plugin V 1.0.1
|
||||
* Send contact and newsletter form data to a server and waiting for its response.
|
||||
* Compatible with jqery validator plugin
|
||||
*/
|
||||
|
||||
(function ($) {
|
||||
|
||||
$.fn.initForm = function (options) {
|
||||
var settings = $.extend({
|
||||
type: 'post',
|
||||
serverUrl: '#',
|
||||
successClean: this.find('.form-success-clean'),
|
||||
successGone: this.find('.form-success-gone'),
|
||||
successInvisible: this.find('.form-success-invisible'),
|
||||
successVisible: this.find('.form-success-visible'),
|
||||
textFeedback: this.find('.form-text-feedback'),
|
||||
}, options);
|
||||
var $ajax = {
|
||||
sendRequest: function (p) {
|
||||
var form_fill = $(p);
|
||||
|
||||
// Get the form data.
|
||||
var form_inputs = form_fill.find(':input');
|
||||
var form_data = {};
|
||||
form_inputs.each(function () {
|
||||
form_data[this.name] = $(this).val();
|
||||
});
|
||||
$.ajax(
|
||||
{
|
||||
/*
|
||||
*Your Ajax Server Here,
|
||||
* use internal url (such as './ajaxserver/server.php') or
|
||||
* external URL such as: url: 'http://www.example.com/avenir/ajaxserver/server.php'
|
||||
* depending to your requirements
|
||||
*/
|
||||
url: settings.serverUrl,
|
||||
type: settings.type,
|
||||
data: form_data,
|
||||
dataType: 'json',
|
||||
|
||||
/* CALLBACK FOR SENDING EMAIL GOEAS HERE */
|
||||
success: function (data) {
|
||||
//Ajax connexion was a success, now handle response
|
||||
if (data && !data.error) {
|
||||
// Hide for if no error
|
||||
settings.successClean.val("");
|
||||
settings.successInvisible.addClass('invisible');
|
||||
settings.successGone.addClass('gone');
|
||||
settings.successVisible.removeClass('invisible');
|
||||
settings.successVisible.removeClass('gone');
|
||||
console.log('Request sent successfully');
|
||||
}
|
||||
// Else the login credentials were invalid.
|
||||
else {
|
||||
//Ajax connexion reject an error a success, now handle response
|
||||
settings.textFeedback.removeClass('gone');
|
||||
settings.textFeedback.removeClass('invisible');
|
||||
settings.textFeedback.html('Error when sending request.');
|
||||
console.log('Could not process AJAX request to server');
|
||||
}
|
||||
},
|
||||
/* show error message */
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
//ajax error
|
||||
settings.textFeedback.removeClass('gone');
|
||||
settings.textFeedback.removeClass('invisible');
|
||||
settings.textFeedback.html('Error when sending request.');
|
||||
console.log('ajax error');
|
||||
|
||||
}
|
||||
/* END EMAIL SENDING CALLBACK */
|
||||
});
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
//if jquery validator plugin is enable, use it
|
||||
if (jQuery.validator) {
|
||||
jQuery.validator.setDefaults({
|
||||
success: "valid"
|
||||
});
|
||||
this.validate({
|
||||
rules: {
|
||||
field: {
|
||||
required: true,
|
||||
email: true
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
this.submit(function (event) {
|
||||
// prevent default submit
|
||||
console.log('Send request');
|
||||
event.preventDefault();
|
||||
// use jquery validator plugin if it is enabled
|
||||
if (jQuery.validator) {
|
||||
if ($(this).valid()) {
|
||||
$ajax.sendRequest(this);
|
||||
}
|
||||
}
|
||||
else {
|
||||
$ajax.sendRequest(this);
|
||||
}
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
}(jQuery));
|
||||
|
||||
/* End of ajax */
|
||||
|
||||
|
||||
// Make them as plugin
|
||||
Reference in New Issue
Block a user