From 8a4c8a26acb0b428e9840a63188f79ac9ad4feed Mon Sep 17 00:00:00 2001 From: Merten Hanisch Date: Wed, 6 Jun 2018 16:11:07 +0200 Subject: [PATCH] support submit-buttons with formaction attribute --- src/json-formdata.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/json-formdata.js b/src/json-formdata.js index e02c13f..6392c4a 100644 --- a/src/json-formdata.js +++ b/src/json-formdata.js @@ -22,19 +22,27 @@ /* Initialize form */ JSONFormData.prototype.initialize = function (formElement, callback) { var self = this, - fields = formElement.elements; + fields = formElement.elements, + submitButtons; this.form = formElement; this.enctype = 'application/json'; - this.action = formElement.action; this.method = this.getMethod(); this.formData = {}; + submitButtons = this.form.querySelectorAll('[formaction]'); + for(var k = 0; k < submitButtons.length; k++ ) { + submitButtons[k].addEventListener('click', function() { + this.form.action = this.getAttribute('formaction'); + }); + } + if (callback) { this.form.addEventListener('submit', function (e) { e.preventDefault(); + self.action = formElement.action; self.extractValues(fields, function() { var xhr = new XMLHttpRequest(),