Die Frage bezieht sich auf das jquery-Datei-Upload-Plugin von blueimp
Ich erstelle ein Formular, in dem die Dateiuploads optional sind. Es stellt sich heraus, dass ich kein Formular posten kann, wenn keine Dateien zum Hochladen ausgewählt sind. Aus diesem Grund muss ich zwei Formulare auf meiner Seite erstellen und alle schmutzigen überprüfen, um hochgeladene Dateien zu löschen, wenn der Benutzer beschließt, keine tatsächlichen Daten hinzuzufügen.
Die Frage ist:
Kann ich das Formular auch senden, wenn keine Dateien ausgewählt sind, damit ich die zusätzlichen Formulardaten weiterhin serverseitig empfangen kann?
Ich habe das gleiche Problem. Ich habe eine Form (eingebaut in Angular), mit blauen Imp Winkel-Implementierung. Das Formular selbst hat Felder; Die Datei ist optional. Muss ein einzelner Beitrag sein (mit oder ohne Datei).
Beim Senden () passiert nichts.
Die oben aufgeführten "nützlichen Ereignisse" werden nur ausgelöst, wenn eine Datei hinzugefügt wird.
Ich weiß, dass dies eine alte Frage ist, aber für diejenigen, die mit dem gleichen Problem kämpften:
Sie müssen hier in die Docs eintauchen:
Und es gibt eine Liste mit hilfreichen Ereignissen:
%Vor% Das Einstellen von SingleFileUploads
auf false
hat mit dem JQuery-Datei-Uploader nicht viel geholfen, da anscheinend ein Fehler aufgetreten ist. hier . Also habe ich das Ding wieder auf wahr gestellt.
Ich habe die Eingaben in zwei separate Formulare aufgeteilt - eines für die Eingabe von Textfeldern und eines für Dateien (das den JQuery-Datei-Uploader durchläuft). Für das Textfeld habe ich eine sichtbare Schaltfläche gedrückt, auf die der Benutzer klicken kann. Für den anderen versteckte ich den Knopf. Sobald der Benutzer also auf die Schaltfläche "sichtbar" klickt, übergebe ich nur die Texteingabe und erstelle einen Datenbankeintrag im Backend (dies geschieht über einen AJAX-Aufruf) und im Erfolgsfeld des AJAX-Aufrufs klicke ich () auf die ausgeblendete Schaltfläche Die Anzahl der Dateien ist größer als 0.
Ich weiß, dass ich zu spät zur Party komme, aber bisher gab es keine wirkliche Lösung. Sie können die Tatsache, dass eine Datei hinzugefügt wird, fälschen, indem Sie das Ereignis add wie folgt manuell aufrufen:
%Vor%Sie würden eine Variable zum Speichern der Formularinformationen einrichten, die Variable beim Hinzufügen aktualisieren und das Add-Kommando wie oben auslösen, wenn keine Datei vorhanden wäre. Hier ist, wie der Code aussehen würde:
%Vor%Dies ermöglicht es Ihnen, konsistent zu bleiben, wie die Daten an den Server übergeben werden.
Tags und Links jquery jquery-file-upload blueimp