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)
}