Skip to content

Instantly share code, notes, and snippets.

@wurwal
Created October 18, 2022 12:56
Show Gist options
  • Save wurwal/705715c448149bfe4e1d8cf80d04c0ea to your computer and use it in GitHub Desktop.
Save wurwal/705715c448149bfe4e1d8cf80d04c0ea to your computer and use it in GitHub Desktop.
Peel CRM embed code
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<form class="contact-form" id="__vtigerWebForm" name="Detertech - leads" action="https://pid-systems.co.uk/crm/modules/Webforms/capture.php" method="post" accept-charset="utf-8" enctype="multipart/form-data">
<input type="hidden" name="__vtrftk" value="sid:74f1302d01d32a4fae77eefe2259b322de8d384b,1664895530" />
<input type="hidden" name="publicid" value="a9f27047575e4dad9d1326c5b0a80349" />
<input type="hidden" name="urlencodeenable" value="1" /><input type="hidden" name="name" value="Detertech - leads" />
<input class="input-text odd" placeholder="First Name*" type="text" name="firstname" data-label="" value="" required="" />
<input class="input-text even" placeholder="Last Name*" type="text" name="lastname" data-label="" value="" required="" />
<input class="input-text odd" placeholder="Business Name*" type="text" name="company" data-label="" value="" required="" />
<input class="input-text even" placeholder="Email Address" type="email" name="email" data-label="" value="" />
<input class="input-text odd" placeholder="Contact Number" type="text" name="mobile" data-label="" value="" />
<select class="input-select even" name="cf_1416" data-label="label:Country+-+Webform">
<option value="">Country</option>
<option value="UK">UK</option>
<option value="Denmark">Denmark</option>
<option value="Germany">Germany</option>
<option value="Netherlands">Netherlands</option>
<option value="Belgium">Belgium</option>
</select>
<textarea class="input-textarea" placeholder="Message" name="description" required=""></textarea>
<input class="input-submit" type="submit" value="Send" />
</form>
<script type="text/javascript">
window.onload = function () {
var N = navigator.appName,
ua = navigator.userAgent,
tem;
var M = ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);
if (M && (tem = ua.match(/version\/([\.\d]+)/i)) != null) M[2] = tem[1];
M = M ? [M[1], M[2]] : [N, navigator.appVersion, "-?"];
var browserName = M[0];
var form = document.getElementById("__vtigerWebForm"),
inputs = form.elements;
form.onsubmit = function () {
var required = [],
att,
val;
for (var i = 0; i < inputs.length; i++) {
att = inputs[i].getAttribute("required");
val = inputs[i].value;
type = inputs[i].type;
if (type == "email") {
if (val != "") {
var elemLabel = inputs[i].getAttribute("label");
var emailFilter = /^[_/a-zA-Z0-9]+([!"#$%&()*+,./:;<=>?\^_`{|}~-]?[a-zA-Z0-9/_/-])*@[a-zA-Z0-9]+([\_\-\.]?[a-zA-Z0-9]+)*\.([\-\_]?[a-zA-Z0-9])+(\.?[a-zA-Z0-9]+)?$/;
var illegalChars = /[\(\)\<\>\,\;\:\"\[\]]/;
if (!emailFilter.test(val)) {
alert("For " + elemLabel + " field please enter valid email address");
return false;
} else if (val.match(illegalChars)) {
alert(elemLabel + " field contains illegal characters");
return false;
}
}
}
if (att != null) {
if (val.replace(/^\s+|\s+$/g, "") == "") {
required.push(inputs[i].getAttribute("label"));
}
}
}
if (required.length > 0) {
alert("The following fields are required: " + required.join());
return false;
}
var numberTypeInputs = document.querySelectorAll("input[type=number]");
for (var i = 0; i < numberTypeInputs.length; i++) {
val = numberTypeInputs[i].value;
var elemLabel = numberTypeInputs[i].getAttribute("label");
var elemDataType = numberTypeInputs[i].getAttribute("datatype");
if (val != "") {
if (elemDataType == "double") {
var numRegex = /^[+-]?\d+(\.\d+)?$/;
} else {
var numRegex = /^[+-]?\d+$/;
}
if (!numRegex.test(val)) {
alert("For " + elemLabel + " field please enter valid number");
return false;
}
}
}
var dateTypeInputs = document.querySelectorAll("input[type=date]");
for (var i = 0; i < dateTypeInputs.length; i++) {
dateVal = dateTypeInputs[i].value;
var elemLabel = dateTypeInputs[i].getAttribute("label");
if (dateVal != "") {
var dateRegex = /^[1-9][0-9]{3}-(0[1-9]|1[0-2]|[1-9]{1})-(0[1-9]|[1-2][0-9]|3[0-1]|[1-9]{1})$/;
if (!dateRegex.test(dateVal)) {
alert("For " + elemLabel + " field please enter valid date in required format");
return false;
}
}
}
var inputElems = document.getElementsByTagName("input");
var totalFileSize = 0;
for (var i = 0; i < inputElems.length; i++) {
if (inputElems[i].type.toLowerCase() === "file") {
var file = inputElems[i].files[0];
if (typeof file !== "undefined") {
var totalFileSize = totalFileSize + file.size;
}
}
}
if (totalFileSize > 52428800) {
alert("Maximum allowed file size including all files is 50MB.");
return false;
}
};
};
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment