2016-08-08 28 views
0

Ich benutze jquery Datei-Upload-Plugin im Backbone js. Ich habe mehr als eine Schaltfläche zum Hinzufügen von Dateien auf derselben Seite. Jede Taste kommt aus ihrer jeweiligen Backbone Ansichten.Schaltfläche Dateien hinzufügen funktioniert nicht, wenn mehrere (jquery Datei-Upload-Plugin)

**View** 
render: -> 
    $(@el).html(@template(model: @model.attributes)) 
    @ 

**Template** 
<form id="fileupload" class="fileupload" action="some_action" method="POST" enctype="multipart/form-data"> 

    <span class="btn btn-xs btn-success fileinput-button"> 
    <i class="glyphicon glyphicon-plus"></i> 
    <span>Add files...</span> 
    <input type="file" class="select_file" name="files" multiple> 
    </span> 

    <button type="submit" class="btn btn-xs btn-primary start"> 
    <i class="glyphicon glyphicon-upload"></i> 
    <span>Start upload</span> 
    </button> 

</form> 

Die Schaltfläche Dateien hinzufügen Werke für irgendeine Form, aber nicht für die anderen

Was ist der Grund sein kann und wie es zu lösen?

+0

Der Posted-Code funktioniert einwandfrei, und genau so, wie es beabsichtigt ist, da es nur ein Ausschnitt von HTML ohne Javascript oder Kontext ist? – adeneo

+0

Der obige Code funktioniert für die erste Form, nicht für die anderen. Ich bin in der Lage, Dateien aus einem beliebigen "Add Files" -Button auszuwählen, und ich bin auch in der Lage, die Dateien hochzuladen. Aber von anderen "Dateien hinzufügen" -Button kann ich nicht einmal Dateien auswählen. – vidal

+1

Und haben alle diese Formulare ihre eigene eindeutige ID, auf der das Fileupload-Plugin initialisiert wurde? – adeneo

Antwort

1

Versuchen Sie diese jsFiddle.

Meine Vermutung ist, haben Sie möglicherweise Dateiupload wie unten in Ihrem Code initialisiert.

$("#fileupload").fileupload(....) 

Wenn Sie so getan haben, sollte es das Problem sein. Sie sollten Dateiupload für jedes Formular initialisieren.

Hinweis: Ich fand diese jsFiddle auf Google-Suche und bearbeitet es für Ihre Anforderung.