Take a test drive

We can talk all day about how well our platform works, but nothing beats trying it out for yourself.

*We will respond to you as soon as we can or within 3 working days.

l('form#request_a_demo_form1 [type="button"],[type="reset"],[type="submit"],button'); if (quoteFormButList !== null) { for (let i = 0; i < quoteFormButList.length; i++) { quoteFormButList[i].addEventListener('focus', function(event){ quoteFormFocus = true; //console.log('focus', this); }); quoteFormButList[i].addEventListener('click', function(event){ quoteFormFocus = true; //console.log('click', this); }); } } var quoteFormSubmit = document.querySelectorAll('form#request_a_demo_form1'); if (quoteFormSubmit !== null) { for (let i = 0; i < quoteFormSubmit.length; i++) { // Clear error message when value chanaged // let inputFieldList = quoteFormSubmit[i].querySelectorAll("select,input:not(.ppQuoteFormField,[type='hidden'],[type='button'],[type='reset'],[type='submit'])"); for (let k = 0; k < inputFieldList.length; k++) { inputFieldList[k].addEventListener('change', function(event){ this.setCustomValidity(''); }); inputFieldList[k].addEventListener('invalid', function(event){ let requireMsg = (this.hasAttribute("requireMsg")) ? this.getAttribute("requireMsg") : ""; let invalidMsg = (this.hasAttribute("invalidMsg")) ? this.getAttribute("invalidMsg") : ""; let orgErrorMsg = this.validationMessage; let validityState = this.validity; // No error detected // if (validityState.valid) { this.setCustomValidity(''); } else { // Required // if (validityState.valueMissing) { if (requireMsg != "") { this.setCustomValidity(requireMsg); } } else { // invalid // if (invalidMsg != "") { this.setCustomValidity(invalidMsg); } } } //this.reportValidity(); }); } // Submit // quoteFormSubmit[i].addEventListener('submit', function(event){ // Submit form is no error // if (this.checkValidity()) { //console.log('submit', this); if (quoteFormFocus) { //var quoteForm = document.querySelector("form#request_a_demo_form1"); let quoteFormKeyField = document.querySelector("form#request_a_demo_form1 input[name='formKey']"); if (quoteFormKeyField !== null) { quoteFormKeyField.value = 'a399d38e53f720a2f36ecb325963b515'; } } return true; } // Prevent submit form if there is error exist // event.preventDefault(); return false; }); } }