lestoitsduval/layouts/shortcodes/infolettre.html

56 lines
2.2 KiB
HTML

<hr>
<form method="post" action="https://infolettre.lestoitsduval.fr/subscription/form" class="infolettre" id="infolettre">
<div>
<h2>Lettre d'information pour se tenir informé</h2>
<input type="hidden" name="nonce" />
<p class="full">
<input type="email" name="email" required placeholder="E-mail" />
<input type="text" name="name" placeholder="Nom (facultatif)" />
</p>
<p>
<input id="79fab" type="checkbox" name="l" value="79fabd65-a46d-4727-8437-85803390bfef" />
<label for="79fab">Comptes rendus<br /><span>C'est la façon de suivre le plus facilement l'avancement des Toits du Val, nous envoyons les comptes rendus de notre réunion mensuelle que nous faisons le 3ème mardi du mois à la maire de Saint-Germain Laval, ou vous êtes le bienvenue.</span></label>
</p>
<p>
<input id="1809c" type="checkbox" name="l" value="1809caec-0888-47c0-a0dd-0e7e5e8e0a80" />
<label for="1809c">Futurs sociétaires<br /><span>Si vous voulez devenir un futur sociétaire vous pouvez vous inscrire ici pour que l'on vous contact lors de la prochaine levée de fond.</span></label>
</p>
<div class="cfa">
<input type="submit" value="S'abonner" />
</div>
</div>
</form>
<script type="text/javascript">
var form = document.getElementById("infolettre");
function handleForm(e) {
e.preventDefault();
let formData = new FormData(this);
let parsedData = {};
for(let name of formData) {
if (typeof(parsedData[name[0]]) == "undefined") {
let tempdata = formData.getAll(name[0]);
if (tempdata.length > 1) {
parsedData[name[0]] = tempdata;
} else {
parsedData[name[0]] = tempdata[0];
}
}
}
let options = {};
switch (this.method.toLowerCase()) {
case 'post':
options.body = JSON.stringify(parsedData);
case 'get':
options.method = this.method;
options.headers = {'Content-Type': 'application/json'};
break;
}
fetch(this.action, options).then(r => r.json()).then(data => {
console.log(data);
});
}
form.addEventListener('submit', handleForm);
</script>