2012-06-05 9 views
5

Quando si utilizza il caricatore di file Ajax Valums, come posso attivare il caricamento?Come posso attivare il file di caricamento con Valums Ajax File-Uploader?

Il comportamento predefinito è per l'upload di iniziare immediatamente dopo che l'utente seleziona un file. Voglio evitare che ciò accada e invece attivare il caricamento quando l'utente fa clic su un pulsante "Carica" ​​separato dopo aver selezionato un file.

ho guardato attraverso il codice e ha scoperto che l'upload comincia l'evento change allegato al file di input. Ho iniziato con l'aggiunta di return false; a alla funzione onSubmit, e quindi collegare un evento click per un altro pulsante che ha attivato l'evento change:

$('#startUpload').on('click', function() { 
    // some conditionals 
    $('input[name="file"]').trigger('change'); 
}); 

che non funziona. Apre di nuovo il menu file.

Come posso evitare che l'upload si verifichi subito dopo che l'utente seleziona il file e invece scattare quando l'utente fa clic su un altro pulsante?

risposta

3

Si dovrà modificare il file-uploader.js per questo. Nella riga 309, modificare la funzione onChange per restituire false. Quindi aggiungere la seguente funzione di sopra di essa, in modo che il codice diventa:

startUpload: function(){ 
    this._onInputChange(this._button.getInput()); 
}, 
_createUploadButton: function(element){ 
    var self = this; 

    return new qq.UploadButton({ 
     element: element, 
     multiple: this._options.multiple && qq.UploadHandlerXhr.isSupported(), 
     onChange: function(input){ 
      return false; 
     } 
    }); 
}, 

Poi nel file HTML, all'interno del vostro tasto di scatto o qualsiasi altro evento, chiamano

uploader.startUpload(); 

dove uploader è il nome del il tuo oggetto qq.FileUploader().

Speranza che aiuta :)

+1

la versione corrente di Belle Uploader supporta attivato manualmente caricate tramite l'API. Non c'è più bisogno di modificare il codice. –

2

Valums Ajax file di uploader ora supporta questa funzionalità .. Si può file di coda e Trigger Upload scatto del tasto

var uploader2 = new qq.FileUploader({ 
    element: $('#manualUploadModeExample')[0], 
    action: "success.html", 
    autoUpload: false, 
    demoMode: true, 
    uploadButtonText: "Select Files" 
}); 

$('#triggerUpload').click(function() { 
    uploader2.uploadStoredFiles(); 
}); 

Per ulteriori informazioni su questo, controlla questo link: valums file uploder

+0

Questa soluzione è per Valums bene uploader non le Valumns File Uploader – Sanchitos

+1

@Sanchitos: non trovo niente come Valums uploader "fine" .. Sono sicuro che è "file" Valums uploader – casper123

+3

A partire dalla versione 2 e fino, si chiama Fine Uploader: http://fineuploader.com/, sebbene il progetto github sia ancora chiamato "fileuploader". – mhu

Problemi correlati