diff --git a/themes/grav/js/forms/fields/array.js b/themes/grav/js/forms/fields/array.js index 2a742e9c..36befe36 100644 --- a/themes/grav/js/forms/fields/array.js +++ b/themes/grav/js/forms/fields/array.js @@ -29,9 +29,11 @@ }; ArrayField.prototype.name = function(name) { - if (name) { + if (name && !this.isValueOnly()) { this.el.data('grav-array-name', name); return name; + } else { + return ''; } return this.el.data('grav-array-name') @@ -76,7 +78,7 @@ formValues = {}; for (var key in values) { if (values.hasOwnProperty(key)) { - formValues[name + '[' + key + ']'] = values[key]; + formValues[this.isValueOnly() ? key : name + '[' + key + ']'] = values[key]; } } @@ -101,15 +103,20 @@ var keyField = $(event.target), valueField = keyField.closest('[data-grav-array-type="row"]').find('[data-grav-array-type="value"]'); - valueField.attr('name', keyField.val()); + valueField.attr('name', this.getFieldName() + '[' + keyField.val() + ']'); }; ArrayField.prototype.refreshAll = function() { + var that = this; this.el.find('[data-grav-array-type="value"]').each(function(index, element){ - $(element).attr('name', index); + $(element).attr('name', that.getFieldName() + '[' + index + ']'); }); }; + ArrayField.prototype.getFieldName = function(element) { + return this.el.data('grav-array-name'); + }; + ArrayField.prototype._getNewField = function(key, value) { var name = this.name(), value_only = this.isValueOnly(), diff --git a/themes/grav/js/forms/form.js b/themes/grav/js/forms/form.js index 90420128..bb2d42ca 100644 --- a/themes/grav/js/forms/form.js +++ b/themes/grav/js/forms/form.js @@ -115,7 +115,7 @@ this.scanned = true; //Refresh root.currentValues as toggleables have been initialized - root.currentValues = getState(); + //root.currentValues = getState(); }; Form.factories = {}; diff --git a/themes/grav/templates/forms/fields/array/array.html.twig b/themes/grav/templates/forms/fields/array/array.html.twig index 0ebeadac..170f7653 100644 --- a/themes/grav/templates/forms/fields/array/array.html.twig +++ b/themes/grav/templates/forms/fields/array/array.html.twig @@ -15,7 +15,7 @@ {% if field.value_only != true %} {% endif %} - +