From c610b6a0cefbaa06c62bb4194ec80f6507113132 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sat, 3 Sep 2016 10:43:10 +0200 Subject: [PATCH] Fix multiple submit buttons --- UI/ActionManager.js | 5 +++++ UI/FormManager.js | 15 ++++++++++----- Views/FormView.js | 2 +- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/UI/ActionManager.js b/UI/ActionManager.js index 8c07d75..ead3610 100644 --- a/UI/ActionManager.js +++ b/UI/ActionManager.js @@ -109,6 +109,11 @@ console.log(action.type); console.log(this.actions); + if (!this.actions.hasOwnProperty(action.type)) { + console.log('Undefined action ' + action.type); + return; + } + this.actions[action.type](action, function () { self.app.eventManager.trigger(e.id + action.type, e.id); diff --git a/UI/FormManager.js b/UI/FormManager.js index 25d0e03..e7bc56e 100644 --- a/UI/FormManager.js +++ b/UI/FormManager.js @@ -110,11 +110,16 @@ this.unbind(id); - this.forms[id].getSubmit().addEventListener('click', function (event) - { - jsOMS.preventAll(event); - self.submit(self.forms[id]); - }); + let submits = this.forms[id].getSubmit(), + length = submits.length; + + for(let i = 0; i < length; i++) { + submits[i].addEventListener('click', function (event) + { + jsOMS.preventAll(event); + self.submit(self.forms[id]); + }); + } }; /** diff --git a/Views/FormView.js b/Views/FormView.js index 4fde771..a02f043 100644 --- a/Views/FormView.js +++ b/Views/FormView.js @@ -81,7 +81,7 @@ */ jsOMS.Views.FormView.prototype.getSubmit = function () { - return document.getElementById(this.id).querySelectorAll('input[type=submit]')[0]; + return document.getElementById(this.id).querySelectorAll('input[type=submit]'); }; /**