diff -up /Users/alex/Desktop/filefield/filefield.js ./filefield.js --- /Users/alex/Desktop/filefield/filefield.js 2010-04-23 22:47:49.000000000 -0400 +++ ./filefield.js 2010-11-12 23:28:26.000000000 -0500 @@ -4,19 +4,18 @@ * Auto-attach standard client side file input validation. */ Drupal.behaviors.filefieldValidateAutoAttach = function(context) { - $("input[type='file'][accept]", context).change( function() { + $("input[type='file']", context).change( function() { // Remove any previous errors. $('.file-upload-js-error').remove(); /** * Add client side validation for the input[type=file] accept attribute. */ - var accept = this.accept.replace(/,\s*/g, '|'); + var accept = Drupal.settings[this.id+'-filefield-accepted']; if (accept.length > 1 && this.value.length > 0) { - var v = new RegExp('\\.(' + accept + ')$', 'gi'); - if (!v.test(this.value)) { + if (accept.indexOf(this.value) != -1) { var error = Drupal.t("The selected file %filename cannot be uploaded. Only files with the following extensions are allowed: %extensions.", - { '%filename' : this.value, '%extensions' : accept.replace(/\|/g, ', ') } + { '%filename' : this.value, '%extensions' : accept.join(', ') } ); // What do I prepend this to? $(this).before('
' + error + '
'); Common subdirectories: /Users/alex/Desktop/filefield/filefield_meta and ./filefield_meta diff -up /Users/alex/Desktop/filefield/filefield_widget.inc ./filefield_widget.inc --- /Users/alex/Desktop/filefield/filefield_widget.inc 2010-06-29 17:38:10.000000000 -0400 +++ ./filefield_widget.inc 2010-11-12 23:26:28.000000000 -0500 @@ -265,6 +265,8 @@ function filefield_widget_value($element function filefield_widget_process($element, $edit, &$form_state, $form) { // The widget is being presented, so apply the JavaScript. drupal_add_js(drupal_get_path('module', 'filefield') .'/filefield.js'); + $settings_js = array($element['#id'] . '-upload-filefield-accepted' => explode(' ', $element['#upload_validators']['filefield_validate_extensions'][0])); + drupal_add_js($settings_js, 'setting'); $item = $element['#value']; $field_name = $element['#field_name']; @@ -423,9 +425,6 @@ function filefield_widget_process($eleme '#type' => 'file', '#description' => implode('
', $desc), '#size' => 22, - '#attributes' => array( - 'accept' => implode(',', array_filter(explode(' ', $field['widget']['file_extensions']))), - ), '#access' => empty($item['fid']), ); Common subdirectories: /Users/alex/Desktop/filefield/icons and ./icons Common subdirectories: /Users/alex/Desktop/filefield/tests and ./tests Common subdirectories: /Users/alex/Desktop/filefield/translations and ./translations Common subdirectories: /Users/alex/Desktop/filefield/views and ./views