diff --git a/README.txt b/README.txt index 2fd0543..24a9482 100644 --- a/README.txt +++ b/README.txt @@ -28,17 +28,21 @@ Plupload from element can be used like this: $form['my_element'] = array( '#type' => 'plupload', '#title' => t('Upload files'), - '#description => t('This multi-upload widget uses Plupload library.'), + '#description' => t('This multi-upload widget uses Plupload library.'), + '#submit_element' => '#id-of-your-submit-element', '#upload_validators' => array( 'file_validate_extensions' => array('jpg jpeg gif png txt doc xls pdf ppt pps odt ods odp'), - 'my_custom_file_validator => array('some validation criteria'), + 'my_custom_file_validator' => array('some validation criteria'), ); '#plupload_settings' => array( 'runtimes' => 'html5', - 'chunk_size => '1mb', + 'chunk_size' => '1mb', ), ); +- #submit_element - optionally specify which submit element plupload shall use + to submit the form. See: http://drupal.org/node/1935256 + - #upload_validators - an array of validation function/validation criteria pairs, that will be passed to file_validate(). diff --git a/plupload.js b/plupload.js index ef26a74..94397e2 100644 --- a/plupload.js +++ b/plupload.js @@ -110,7 +110,13 @@ Drupal.behaviors.pluploadform = { for (var attr in originalFormAttributes) { $form.attr(attr, originalFormAttributes[attr]); } - $form.submit(); + // Click a specific element if one is specified. + if (settings.plupload[id].submit_element) { + $(settings.plupload[id].submit_element).click(); + } + else { + $form.submit(); + } return true; } } diff --git a/plupload.module b/plupload.module index f70822a..8689cd1 100644 --- a/plupload.module +++ b/plupload.module @@ -259,6 +259,11 @@ function plupload_element_pre_render($element) { ); } + // Add a specific submit element that we want to click if one is specified. + if (!empty($element['#submit_element'])) { + $settings['submit_element'] = $element['#submit_element']; + } + if (empty($element['#description'])) { $element['#description'] = ''; }