forked from website/openpower.foundation
				
			
			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;
 | 
						|
		}
 | 
						|
	});
 | 
						|
});
 |