diff --git a/ChangeLog b/ChangeLog index c685462bea..b468edc444 100644 --- a/ChangeLog +++ b/ChangeLog @@ -48,6 +48,7 @@ phpMyAdmin - ChangeLog - bug sql.js: str is undefined - bug #4524 Allow for direct selection of "0" on the "user overview" page - bug #4529 Undefined index: pos +- bug #4523 tbl_change.js: insert as new row submit type on multiple selected records does not set all AUTO_INCREMENTs to 0 value 4.2.8.1 (not yet released) - bug #4530 [security] DOM based XSS that results to a CSRF that creates a diff --git a/js/tbl_change.js b/js/tbl_change.js index cc87711abe..f8002f24e1 100644 --- a/js/tbl_change.js +++ b/js/tbl_change.js @@ -397,20 +397,28 @@ AJAX.registerOnload('tbl_change.js', function () { * available). */ $('select[name="submit_type"]').bind('change', function (e) { + var thisElemSubmitTypeVal = $(this).val(); var $table = $('table.insertRowTable'); - var auto_increment_column = $table.find('input[name^="auto_increment"]').attr('name'); - if (auto_increment_column) { - var prev_value_field = $table.find('input[name="' + auto_increment_column.replace('auto_increment', 'fields_prev') + '"]'); - var value_field = $table.find('input[name="' + auto_increment_column.replace('auto_increment', 'fields') + '"]'); + var auto_increment_column = $table.find('input[name^="auto_increment"]'); + auto_increment_column.each(function () { + var $thisElemAIField = $(this); + var thisElemName = $thisElemAIField.attr('name'); + + var prev_value_field = $table.find('input[name="' + thisElemName.replace('auto_increment', 'fields_prev') + '"]'); + var value_field = $table.find('input[name="' + thisElemName.replace('auto_increment', 'fields') + '"]'); var previous_value = $(prev_value_field).val(); if (previous_value !== undefined) { - if ($(this).val() == 'insert' || $(this).val() == 'insertignore' || $(this).val() == 'showinsert') { + if (thisElemSubmitTypeVal == 'insert' + || thisElemSubmitTypeVal == 'insertignore' + || thisElemSubmitTypeVal == 'showinsert' + ) { $(value_field).val(0); } else { $(value_field).val(previous_value); } } - } + }); + }); /**