Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/itchief/feedbackForm.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoritchief <alex.malcev1980@gmail.comm>2022-10-03 15:15:10 +0300
committeritchief <alex.malcev1980@gmail.comm>2022-10-03 15:15:10 +0300
commit373b121c5c4194be422cbbeced0d8f991f0e6c9e (patch)
treed885375876df6e8db4f7f46a1df39a0d4cb27e1e
parent8b6975806e2a02a6ac78b9ab68d81a168da18cb5 (diff)
Update
-rw-r--r--feedback/index.html8
-rw-r--r--feedback/js/form-processing.js6
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;
}