making form more functional

This commit is contained in:
Chris Cochrun 2022-11-11 09:57:54 -06:00
parent 30acad0d4c
commit d35be7285f

View file

@ -1,6 +1,31 @@
{{ $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 m-2 p-3 rounded-lg hover:bg-neutral-500 checked:text-neutral-500" }}
<script>
function submitForm(e) {
e.preventDefault();
const form = document.getElementById('form');
const data = new FormData(form);
console.log(data.get("birthdate"));
const birthdate = new Date(data.get("birthdate"));
const age = calculate_age(birthdate);
data.append("age", age);
var xhr = new XMLHttpRequest();
xhr.open("POST", "https://n8n.tfcconnection.org/webhook-test/mt-application");
xhr.send(data);
console.log(data);
console.log("Hallo!");
return false;
}
function calculate_age(dob) {
var diff_ms = Date.now() - dob.getTime();
var age_dt = new Date(diff_ms);
return Math.abs(age_dt.getUTCFullYear() - 1970);
}
function process() {
var studentAgree = document.getElementById("student-agree").checked;
console.log(studentAgree);
@ -33,7 +58,7 @@
</div>
<div id="mt-form" class="form text-lg w-full">
<form action="" autocomplete="on" method="post" target="_parent" class="w-full items-center flex flex-wrap">
<form id='form' onsubmit="submitForm(event)" autocomplete="on" method="post" target="_parent" class="w-full items-center flex flex-wrap">
<h3 class="basis-full">Mission Trip Application</h3>
<div class="basis-full flex flex-wrap my-4">
<label for="firstname" class="basis-full">What is your first and last name?</label>
@ -58,15 +83,15 @@
class="basis-full form-input {{ $formClasses }}">
<div class="basis-full my-8">
<div class="">
<label for="birthday" class="">When were you born?</label>
<input type="date" id="birthday" name="birthday"
<label for="birthdate" class="">When were you born?</label>
<input type="date" id="birthdate" name="birthdate"
class="form-date {{ $formClasses }}">
</div>
<div class="">
<label for="gender" class="">Gender</label>
<select id="gender" name="gender" class="form-select {{ $formClasses }}">
<option value="male">Male</option>
<option value="female">Female</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
</div>
</div>
@ -111,7 +136,8 @@
<div class="basis-full my-4">
<label for="grade" class="">Grade</label>
<br/>
<input type="radio" id="grade" name="grade" value="8" class="form-input {{ $formClasses }}">
<input type="radio" id="grade" name="grade" value="8"
class="form-input {{ $formClasses }}" checked>
<label for="grade" class="">8th</label>
<br/>
<input type="radio" id="grade" name="grade" value="freshman"
@ -143,7 +169,7 @@
<label for="churchattendance" class="">Do you attend church regularly?</label>
<br/>
<input type="radio" id="churchattendance" name="churchattendance"
value="yes" class="form-input {{ $formClasses }}">
value="yes" class="form-input {{ $formClasses }}" checked>
<label for="churchattendance" class="">Yes</label>
<br/>
<input type="radio" id="churchattendance" name="churchattendance"
@ -158,14 +184,14 @@
<div class="basis-1/2 flex flex-wrap items-center">
<label for="tfcgroup" class="flex-initial">TFC Group</label>
<select id="tfcgroup" name="tfcgroup" class="flex-auto form-select {{ $formClasses }}">
<option value="phillipsburg">Phillipsburg</option>
<option value="atwood">Atwood</option>
<option value="northern-valley">Northern Valley</option>
<option value="southern-valley">Southern Valley</option>
<option value="thunder-ridge">Thunder Ridge</option>
<option value="logan">Logan</option>
<option value="codell">Codell</option>
<option value="colby">Colby</option>
<option value="Phillipsburg">Phillipsburg</option>
<option value="Atwood">Atwood</option>
<option value="Northern Valley">Northern Valley</option>
<option value="Southern Valley">Southern Valley</option>
<option value="Thunder Ridge">Thunder Ridge</option>
<option value="Logan">Logan</option>
<option value="Codell">Codell</option>
<option value="Colby">Colby</option>
</select>
</div>
<div class="basis-1/2 flex flex-wrap items-center">
@ -187,6 +213,16 @@
<input type="file" id="image" name="image"
class="file:my-4 file:ml-2 file:py-2 file:px-4 file:rounded-lg file:border-0 file:text-sm file:font-semibold file:bg-neutral-500 file:text-neutral-100 hover:file:bg-primary-300 hover:file:ring-offset-2 hover:file:ring-2 hover:file:ring-offset-transparent hover:file:text-primary-500 hover:file:ring-primary-500">
</div>
<div class="basis-full flex flex-wrap items-center">
<label for="trip" class="basis-full">Which trip would you like to go on?</label>
<select id="trip" name="trip" class="flex-auto form-select {{ $formClasses }}">
<option value="Cary">Cary</option>
<option value="Miriam's Hope">Miriam's Hope</option>
<option value="Homestead/Colorado">Homestead/Colorado</option>
</select>
</div>
<div class="basis-full mt-10">
<label for="tripnotes" class="p-4">
Do you have any other notes for us regarding this trip?
@ -269,15 +305,8 @@
placeholder=""></textarea>
</div>
<div class="basis-full">
<button 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>
<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>
</form>
</div>
<iframe
id="form"
class="mt-form w-full h-screen"
src="https://tbl.tfcconnection.org/dashboard/#/nc/form/771dc7dc-9a82-49e4-abfe-0fd7b72281f2?embed"
frameborder="0"
style="background: transparent; border: 1px solid #ddd">
</iframe>