forms: updated the contact-form so it is natural and easy
This commit is contained in:
		
							parent
							
								
									9eb6f6ef05
								
							
						
					
					
						commit
						1f46c2daee
					
				
					 1 changed files with 87 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -1,7 +1,87 @@
 | 
			
		|||
<iframe
 | 
			
		||||
class="contact-form"
 | 
			
		||||
src="https://tbl.tfcconnection.org/dashboard/#/nc/form/97bdb635-2a1e-4df6-90be-2e05a17bb5f5"
 | 
			
		||||
frameborder="0"
 | 
			
		||||
width="100%"
 | 
			
		||||
height="1200"
 | 
			
		||||
style="background: transparent; border: 1px solid #ddd"></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" }}
 | 
			
		||||
{{ $requiredField := "<span class='inline-block text-[#f39] text-sm align-super'>* required</span>" }}
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
 function submitForm(e) {
 | 
			
		||||
     e.preventDefault();
 | 
			
		||||
     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>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue