diff options
author | n-peugnet <n.peugnet@free.fr> | 2019-10-20 19:39:14 +0200 |
---|---|---|
committer | n-peugnet <n.peugnet@free.fr> | 2019-10-20 19:48:18 +0200 |
commit | 229f7ff95ef2578adc280022e70284ec80e3dc17 (patch) | |
tree | 4a5f6a57c2bd6339e5c26611b0ffdf487194aa3b /assets/js/edit.js | |
parent | 588dab7350c3077d60ccc21d55aedf77da770f18 (diff) | |
download | wcms-229f7ff95ef2578adc280022e70284ec80e3dc17.tar.gz wcms-229f7ff95ef2578adc280022e70284ec80e3dc17.zip |
small fixes on ajax form submission
- use only oninput change event
- dont update unsavedchanges if toggle class
- dont update unsavedchanges if ajax request fails
Diffstat (limited to 'assets/js/edit.js')
-rw-r--r-- | assets/js/edit.js | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/assets/js/edit.js b/assets/js/edit.js index 956250e..92a09b1 100644 --- a/assets/js/edit.js +++ b/assets/js/edit.js @@ -6,7 +6,6 @@ window.onload = () => { form = document.getElementById('update'); let inputs = form.elements; for (i = 0; i < inputs.length; i++) { - inputs[i].onchange = changeHandler; inputs[i].oninput = changeHandler; } @@ -25,8 +24,8 @@ window.onload = () => { function keyboardHandler(e) { if (e.composed) { if (e.ctrlKey) { - // console.log(e.key); switch (e.key) { + // ctrl + s case 's': e.preventDefault(); submitHandler(form); @@ -38,9 +37,12 @@ function keyboardHandler(e) { /** * Manage change event - * @param {Event} e + * @param {InputEvent} e */ function changeHandler(e) { + if(e.target.classList.contains("toggle")) { + return; + } unsavedChanges = true; } @@ -49,12 +51,11 @@ function changeHandler(e) { * @param {HTMLFormElement} form */ function submitHandler(form) { - unsavedChanges = false; - var xhr = new XMLHttpRequest(); var fd = new FormData(form); xhr.addEventListener("load", function(event) { + unsavedChanges = false; alert("updated"); }); xhr.addEventListener("error", function(event) { |