diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/system/system.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/modules/system/system.js b/modules/system/system.js index 2db886eee..45741e76a 100644 --- a/modules/system/system.js +++ b/modules/system/system.js @@ -61,6 +61,31 @@ Drupal.cleanURLsInstallCheck = function() { }; /** + * When a field is filled out, apply its value to other fields that will likely + * use the same value. In the installer this is used to populate the + * administrator e-mail address with the same value as the site e-mail address. + */ +Drupal.behaviors.copyFieldValue = function (context) { + for (var sourceId in Drupal.settings.copyFieldValue) { + // Get the list of target fields. + targetIds = Drupal.settings.copyFieldValue[sourceId]; + if (!$('#'+ sourceId + '.copy-field-values-processed').size(), context) { + // Add the behavior to update target fields on blur of the primary field. + sourceField = $('#' + sourceId); + sourceField.bind('blur', function() { + for (var delta in targetIds) { + var targetField = $('#'+ targetIds[delta]); + if (targetField.val() == '') { + targetField.val(this.value); + } + } + }); + sourceField.addClass('copy-field-values-processed'); + } + } +} + +/** * Show/hide custom format sections on the date-time settings page. */ Drupal.behaviors.dateTime = function(context) { |