app/assets/javascripts/sufia/multiForm.js in sufia-2.0.1 vs app/assets/javascripts/sufia/multiForm.js in sufia-3.0.0

- old
+ new

@@ -4,26 +4,34 @@ // Create some defaults, extending them with any options that were provided var settings = $.extend( { }, options); function addField() { + count = $(this).closest('.control-group').find('.controls').size(); var cloneId = this.id.replace("submit", "clone"); var newId = this.id.replace("submit", "elements"); var cloneElem = $('#'+cloneId).clone(); // change the add button to a remove button var plusbttn = cloneElem.find('#'+this.id); plusbttn.html('-<span class="accessible-hidden">remove this '+ this.name.replace("_", " ") +'</span>'); plusbttn.on('click',removeField); + // remove the help tag on subsequent added fields cloneElem.find('.formHelp').remove(); cloneElem.find('i').remove(); cloneElem.find('.modal-div').remove(); //clear out the value for the element being appended //so the new element has a blank value - cloneElem.find('input[type=text]').attr("value", ""); - cloneElem.find('input[type=text]').attr("required", false); + // Note: there may be more than one input field. Example: + // creator_name + // creator_role + textFields = cloneElem.find('input[type=text]') + $.each(textFields, function(n, tf) { + newName = $(tf).attr('name').replace('[0]', '['+count+']'); + $(tf).attr('name', newName).attr("value", "").attr("required", false) + }) if (settings.afterAdd) { settings.afterAdd(this, cloneElem) }