change the form submission system to be uniform for the entire website
Signed-off-by: Toshaan Bharvani <toshaan@vantosh.com>remotes/1693381142243034077/jamesk-patch-1
parent
9003ba9f5a
commit
488759506b
@ -0,0 +1,97 @@
|
||||
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");
|
||||
$('.contactForm').find("input, textarea").val("");
|
||||
if(goal) {
|
||||
_paq.push(['trackGoal', goal]);
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
@ -1,13 +1,19 @@
|
||||
{{ partial "header.html" . }}
|
||||
|
||||
{{ partial "navbar.html" . }}
|
||||
|
||||
<main id="main">
|
||||
|
||||
<main id="main" class="main governance">
|
||||
<div class="container">
|
||||
<div class="row no-gutters">
|
||||
<div class="col-lg-12 text-center"><h1 class="h2 section-header my-3 my-md-5 pb-2">{{ .Title }}</h1></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
<div class="col-lg-6 text-center">
|
||||
{{ partial "contactform.html" . }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</main>
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
|
Loading…
Reference in New Issue