diff options
Diffstat (limited to 'modules/file/file.module')
-rw-r--r-- | modules/file/file.module | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/modules/file/file.module b/modules/file/file.module index 8b8b9c924..df0d11e34 100644 --- a/modules/file/file.module +++ b/modules/file/file.module @@ -442,10 +442,15 @@ function file_managed_file_process($element, &$form_state, $form) { ); } - // The "accept" attribute is valid XHTML, but not enforced in browsers. - // We use it for our own purposes in our JavaScript validation. + // Add the extension list to the page as JavaScript settings. if (isset($element['#upload_validators']['file_validate_extensions'][0])) { - $element['upload']['#attributes']['accept'] = implode(',', array_filter(explode(' ', $element['#upload_validators']['file_validate_extensions'][0]))); + $extension_list = implode(',', array_filter(explode(' ', $element['#upload_validators']['file_validate_extensions'][0]))); + $element['upload']['#attached']['js'] = array( + array( + 'type' => 'setting', + 'data' => array('file' => array('elements' => array('#' . $element['#id'] . '-upload' => $extension_list))) + ) + ); } // Prefix and suffix used for AJAX replacement. |