diff options
author | itchief <alex.malcev1980@gmail.comm> | 2022-10-03 15:15:10 +0300 |
---|---|---|
committer | itchief <alex.malcev1980@gmail.comm> | 2022-10-03 15:15:10 +0300 |
commit | 373b121c5c4194be422cbbeced0d8f991f0e6c9e (patch) | |
tree | d885375876df6e8db4f7f46a1df39a0d4cb27e1e | |
parent | 8b6975806e2a02a6ac78b9ab68d81a168da18cb5 (diff) |
Update
-rw-r--r-- | feedback/index.html | 8 | ||||
-rw-r--r-- | feedback/js/form-processing.js | 6 |
2 files changed, 10 insertions, 4 deletions
diff --git a/feedback/index.html b/feedback/index.html index 79ef84c..ee914b4 100644 --- a/feedback/index.html +++ b/feedback/index.html @@ -111,17 +111,19 @@ const form = new ItcSubmitForm('form');
- // при получении ответа result="success" от сервера
- document.querySelector('form').addEventListener('success', (e) => {
+ document.addEventListener('itc.successSendForm', (e) => {
const el = e.target.closest('.form-container').querySelector('.form-success');
el.classList.remove('form-success_hide');
});
// при клике на .form-success__btn
document.querySelector('.form-success__btn').addEventListener('click', (e) => {
- form.reset();
+ const el = e.target.closest('.form-container').querySelector('form');
+ const found = ItcSubmitForm.contains.find((item) => item.el === el);
+ found.instance.reset();
e.target.closest('.form-container').querySelector('.form-success').classList.add('form-success_hide');
})
+
</script>
</body>
diff --git a/feedback/js/form-processing.js b/feedback/js/form-processing.js index 24ed34c..3a34a31 100644 --- a/feedback/js/form-processing.js +++ b/feedback/js/form-processing.js @@ -6,6 +6,9 @@ */ class ItcSubmitForm { + + static contains = []; + constructor(selector = 'form', config = {}) { this._attach = { index: 0, @@ -16,6 +19,7 @@ class ItcSubmitForm { }; this._isCheckValidationOnClient = config['isCheckValidationOnClient'] !== false; this._elForm = document.querySelector(selector); + this.constructor.contains.push({el: this._elForm, instance: this}) this._init(); } @@ -129,7 +133,7 @@ class ItcSubmitForm { // при успешной отправки формы if (data['result'] === 'success') { - this._elForm.dispatchEvent(new Event('success')); + this._elForm.dispatchEvent(new Event('itc.successSendForm', {bubbles: true})); return; } |