feat: ajout de l'ajax pour le formulaire
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
927404e6fd
commit
3120050065
|
@ -1,5 +1,5 @@
|
||||||
<hr>
|
<hr>
|
||||||
<form method="post" action="https://infolettre.lestoitsduval.fr/subscription/form" class="infolettre">
|
<form method="post" action="https://infolettre.lestoitsduval.fr/subscription/form" class="infolettre" id="infolettre">
|
||||||
<div>
|
<div>
|
||||||
<h2>Lettre d'information pour se tenir informé</h2>
|
<h2>Lettre d'information pour se tenir informé</h2>
|
||||||
<input type="hidden" name="nonce" />
|
<input type="hidden" name="nonce" />
|
||||||
|
@ -20,3 +20,36 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</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>
|
||||||
|
|
Loading…
Reference in New Issue