forms: updated the contact-form so it is natural and easy

This commit is contained in:
Chris Cochrun 2023-05-12 10:03:37 -05:00
parent 9eb6f6ef05
commit 1f46c2daee

View file

@ -1,7 +1,87 @@
<iframe {{ $formClasses := "bg-neutral-500 text-neutral-50 placeholder-neutral-300 focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 focus:ring-offset-transparent my-2 p-3 rounded-lg hover:bg-neutral-500 checked:text-neutral-500" }}
class="contact-form" {{ $requiredField := "<span class='inline-block text-[#f39] text-sm align-super'>* required</span>" }}
src="https://tbl.tfcconnection.org/dashboard/#/nc/form/97bdb635-2a1e-4df6-90be-2e05a17bb5f5"
frameborder="0" <script>
width="100%" function submitForm(e) {
height="1200" e.preventDefault();
style="background: transparent; border: 1px solid #ddd"></iframe> const form = document.getElementById('form');
const data = new FormData(form);
if (data.get("email") == "") {
document.getElementById('warning-email').style.visibility = 'visible';
document.getElementById('warning-email').style.height = '';
document.getElementById('warning-email').style.margin = '';
return false;
} else {
document.getElementById('warning-email').style.visibility = 'hidden';
document.getElementById('warning-email').style.height = '0';
document.getElementById('warning-email').style.margin = '0';
}
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
window.location.href = '/thankyou/';
}
};
xhr.open("POST", "https://n8n.tfcconnection.org/webhook/contact-form");
xhr.send(data);
console.log(data);
}
function process() {
/* document.getElementById('mt-form').hidden = false */
document.getElementById('warning-email').style.visibility = 'hidden';
document.getElementById('warning-email').style.height = '0';
document.getElementById('warning-email').style.margin = '0';
}
document.addEventListener('DOMContentLoaded', process);
</script>
<div id="mt-form" class="form text-lg w-full">
<form id='form' onsubmit="submitForm(event)" autocomplete="on" method="post" target="_parent" class="w-full items-center flex flex-wrap">
<h3 class="basis-full">Contact Form</h3>
<div class="basis-full flex flex-wrap my-4">
<label for="firstname" class="basis-full">What is your name? <span class='inline-block text-[#f39] text-sm align-sub'>* required</span></label>
<br/>
<input type="text" id="name" name="name"
placeholder="Name" class="flex-1 form-input {{ $formClasses }}">
</div>
<label for="email" class="basis-full">Your Email <span class='inline-block text-[#f39] text-sm align-sub'>* required</span></label>
<input type="email" id="email" name="email"
pattern="^[a-zA-Z0-9]+(?:\.[a-zA-Z0-9]+)*@[a-zA-Z0-9]+(?:\.[a-zA-Z0-9]+)*$"
placeholder="bob@frank.xyz"
class="basis-full form-input {{ $formClasses }}">
<label for="staff" class="basis-full mt-4">Would you like to email a specific staff member? <span class='inline-block text-[#f39] text-sm align-sub'>leave on "any" if you don't need someone specific.</span></label>
<select id="staff" name="staff" class="mb-4 flex-auto form-select {{ $formClasses }}">
<option value="tfc@tfcconnection.org">Any</option>
<option value="ethan@tfcconnection.org">Ethan Rose</option>
<option value="lavonne@tfcconnection.org">Lavonne Ponstein</option>
<option value="brian@tfcconnection.org">Brian Fischer</option>
<option value="janice@tfcconnection.org">Janice Lundquist</option>
<option value="april@tfcconnection.org">April Teves</option>
<option value="chris@tfcconnection.org">Chris Cochrun</option>
<option value="rob@tfcconnection.org">Rob Lewis</option>
<option value="lewis@tfcconnection.org">Lewis Smith</option>
<option value="billy@tfcconnection.org">Billy Cayou</option>
<option value="dani@tfcconnection.org">Dani Rouse</option>
</select>
<label for="message" class="basis-full mt-4">Message <span class='inline-block text-[#f39] text-sm align-sub'>* required</span></label>
<textarea type="message" id="message" name="message"
class="basis-full form-input h-48 {{ $formClasses }}"></textarea>
<div class="basis-full mt-8">
<button type="submit" class="content-right rounded-lg bg-primary-700 h-12 w-24 focus:bg-primary-900 focus:ring focus:ring-primary-700 hover:bg-primary-900 float-right">Submit</button>
</div>
<div id="warning-email" class="basis-full mt-10 flex px-4 py-3 rounded-lg bg-[#ef4444] dark:bg-[#ef4444]">
<span class="text-[#fca5a5] ltr:pr-3 rtl:pl-3 content-right float-right">
{{ partial "icon.html" (.Get 0 | default "triangle-exclamation") }} Make sure you have included an email so we can contact you.
</span>
</div>
</form>
</div>