unarm submit buttons in mass inputs on regular form submits
This commit is contained in:
parent
cc54609f1f
commit
7f9071ec96
@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
var MASS_INPUT_CELL_SELECTOR = '.massinput__cell';
|
var MASS_INPUT_CELL_SELECTOR = '.massinput__cell';
|
||||||
var MASS_INPUT_ADD_CELL_SELECTOR = '.massinput__cell--add';
|
var MASS_INPUT_ADD_CELL_SELECTOR = '.massinput__cell--add';
|
||||||
|
var MASS_INPUT_SUBMIT_BUTTON_CLASS = 'massinput__submit-button';
|
||||||
var MASS_INPUT_INITIALIZED_CLASS = 'mass-input--initialized';
|
var MASS_INPUT_INITIALIZED_CLASS = 'mass-input--initialized';
|
||||||
|
|
||||||
var massInputUtil = function(element) {
|
var massInputUtil = function(element) {
|
||||||
@ -74,6 +75,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
return function(event) {
|
return function(event) {
|
||||||
|
// "unarm" submit buttons inside this massinput so browser
|
||||||
|
// uses correct submit button for form submission.
|
||||||
|
// contents of the massinput will be replaced either way,
|
||||||
|
// so unarming is no problem
|
||||||
|
unarmSubmitButtons();
|
||||||
|
|
||||||
// check if event occured from either a mass input add/delete button or
|
// check if event occured from either a mass input add/delete button or
|
||||||
// from inside one of massinput's inputs (i.e. they are focused/active)
|
// from inside one of massinput's inputs (i.e. they are focused/active)
|
||||||
var activeElement = element.querySelector(':focus, :active');
|
var activeElement = element.querySelector(':focus, :active');
|
||||||
@ -87,7 +94,7 @@
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var submitButton = massInputCell.querySelector('button[type="submit"][name][value]');
|
var submitButton = massInputCell.querySelector('.' + MASS_INPUT_SUBMIT_BUTTON_CLASS);
|
||||||
if (!submitButton) {
|
if (!submitButton) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -122,6 +129,14 @@
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function unarmSubmitButtons() {
|
||||||
|
var buttons = Array.from(element.querySelectorAll('button[type="submit"][name][value]'));
|
||||||
|
buttons.forEach(function(button) {
|
||||||
|
button.setAttribute('type', 'button');
|
||||||
|
button.classList.add(MASS_INPUT_SUBMIT_BUTTON_CLASS);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function processResponse(response) {
|
function processResponse(response) {
|
||||||
element.innerHTML = response;
|
element.innerHTML = response;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user