You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.5 KiB
JavaScript
103 lines
2.5 KiB
JavaScript
jQuery(document).ready(function($) {
|
|
"use strict";
|
|
$(formname).submit(function() {
|
|
var f = $(this).find('.form-group'),
|
|
ferror = false,
|
|
emailExp = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i;
|
|
f.children('input').each(function() {
|
|
var i = $(this);
|
|
var rule = i.attr('data-rule');
|
|
if (rule !== undefined) {
|
|
var ierror = false;
|
|
var pos = rule.indexOf(':', 0);
|
|
if (pos >= 0) {
|
|
var exp = rule.substr(pos + 1, rule.length);
|
|
rule = rule.substr(0, pos);
|
|
} else {
|
|
rule = rule.substr(pos + 1, rule.length);
|
|
}
|
|
switch (rule) {
|
|
case 'required':
|
|
if (i.val() === '') {
|
|
ferror = ierror = true;
|
|
}
|
|
break;
|
|
case 'minlen':
|
|
if (i.val().length < parseInt(exp)) {
|
|
ferror = ierror = true;
|
|
}
|
|
break;
|
|
case 'email':
|
|
if (!emailExp.test(i.val())) {
|
|
ferror = ierror = true;
|
|
}
|
|
break;
|
|
case 'checked':
|
|
if (!i.attr('checked')) {
|
|
ferror = ierror = true;
|
|
}
|
|
break;
|
|
case 'regexp':
|
|
exp = new RegExp(exp);
|
|
if (!exp.test(i.val())) {
|
|
ferror = ierror = true;
|
|
}
|
|
break;
|
|
}
|
|
i.next('.validation').html((ierror ? (i.attr('data-msg') !== undefined ? i.attr('data-msg') : 'wrong Input') : '')).show('blind');
|
|
}
|
|
});
|
|
f.children('textarea').each(function() {
|
|
var i = $(this);
|
|
var rule = i.attr('data-rule');
|
|
if (rule !== undefined) {
|
|
var ierror = false;
|
|
var pos = rule.indexOf(':', 0);
|
|
if (pos >= 0) {
|
|
var exp = rule.substr(pos + 1, rule.length);
|
|
rule = rule.substr(0, pos);
|
|
} else {
|
|
rule = rule.substr(pos + 1, rule.length);
|
|
}
|
|
switch (rule) {
|
|
case 'required':
|
|
if (i.val() === '') {
|
|
ferror = ierror = true;
|
|
}
|
|
break;
|
|
case 'minlen':
|
|
if (i.val().length < parseInt(exp)) {
|
|
ferror = ierror = true;
|
|
}
|
|
break;
|
|
}
|
|
i.next('.validation').html((ierror ? (i.attr('data-msg') != undefined ? i.attr('data-msg') : 'wrong Input') : '')).show('blind');
|
|
}
|
|
});
|
|
if (ferror) {
|
|
return false;
|
|
} else {
|
|
var str = $(this).serialize();
|
|
$.ajax({
|
|
type: "POST",
|
|
data: str,
|
|
url: submiturl,
|
|
complete: function() {
|
|
$("#sendmessage").addClass("show");
|
|
$("#errormessage").removeClass("show");
|
|
$(formname)[0].reset();
|
|
$('input[type="text"],textarea').val('');
|
|
if(typeof goal !== 'undefined') {
|
|
_paq.push(['trackGoal', goal]);
|
|
}
|
|
$('#sendmessage').show();
|
|
setTimeout(function() {
|
|
$('#sendmessage').fadeOut();
|
|
}, 2500);
|
|
}
|
|
});
|
|
return false;
|
|
}
|
|
});
|
|
});
|