Feuer javascript-Ereignis onchange-Ereignis <input type="file"/>
Habe ich diesen code
<input id="fileupload"
type="file" name="files[]"
class="inputFile clickable"
onchange="uploadFile(this.value)"/>
Dies funktioniert sehr gut, auf der zweiten die Zeit, es zu verwenden, d.h. erste mal, dass ich wählen Sie die Datei, die das onchange-Ereignis nicht ausgelöst, aber die Auswahl der Datei zum zweiten mal gut funktioniert.
Gibt es eine Sache, die ich ändern kann, hier?
Habe ich versucht:
onlclick
(funktioniert nicht, feuert vor dem auswählen der Datei)onblur
(funktioniert nicht, nicht das Feuer überhaupt, und wenn nicht, es ist nur dumm zu klicken, irgendwo anders auf der Seite, um das Feuer der operation)onselect
(funktioniert nicht)
Zusätzliche info:
Wenn ich onchange=alert(this.value)
es funktioniert
dies ist mein javascript-code
function uploadFile(value) {
alert(value); //works fine
$('#fileupload').fileupload({
dataType: 'json',
url: 'fileUpload.php',
type: 'POST',
limitConcurrentUploads: 1,
// done: function (e, data) {
// $.each(data.result, function (index, file) {
// $('<p/>').text(file.name).appendTo(document.body);
// });
// },
success: function() {
showMultipleDataDiv(value); //but I don't get value here
}
});
}
ähnlichen thread ? stackoverflow.com/questions/2133807/...
ja, aber das ändert nichts an der situation, erstelle ich einen neuen Eingang und ist es immer noch das Feuer auf den zweiten und nicht den ersten.
Können Sie Ihre Javascript-code? Vielleicht gibt es einige Fehler gibt?
Kannst du bitte versuchen mit Hilfe von jquery live-Methode $('#fileupload').live('change', function(){ uploadFile(); }); oder so: $("#fileupload").change(function() { alert('ich bin geklickt'); });
Wenn Sie Zugriff auf error-logs anschauen und versuchen mit dem Chrome-Network-console (Rechtsklick auf Seite -> Element Untersuchen -> Registerkarte "Netzwerk") und dann Absenden des upload-Formulars. Ich denke, es ist etwas falsch mit Ihrer fileUpload.php.
ja, aber das ändert nichts an der situation, erstelle ich einen neuen Eingang und ist es immer noch das Feuer auf den zweiten und nicht den ersten.
Können Sie Ihre Javascript-code? Vielleicht gibt es einige Fehler gibt?
Kannst du bitte versuchen mit Hilfe von jquery live-Methode $('#fileupload').live('change', function(){ uploadFile(); }); oder so: $("#fileupload").change(function() { alert('ich bin geklickt'); });
Wenn Sie Zugriff auf error-logs anschauen und versuchen mit dem Chrome-Network-console (Rechtsklick auf Seite -> Element Untersuchen -> Registerkarte "Netzwerk") und dann Absenden des upload-Formulars. Ich denke, es ist etwas falsch mit Ihrer fileUpload.php.
InformationsquelleAutor xaero | 2012-09-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den code
$('#fileupload').fileupload
auslösen wird, eine Datei hochladen, sobald der Benutzer eine Datei auswählt. Sie müssen diesen code ausführen, bevor der Benutzer eine Datei auswählt, weil es fügt einen Ereignis-listener für das input-tag. Da Sie nur diesen code ausführen, nachdem der Benutzer eine Datei auswählt, dann wird es nur funktionieren, auf der zweiten Zeit.Dies ist die änderung, die Sie tun müssen, damit es funktioniert
Beachten Sie, gibt es keine Notwendigkeit zum hinzufügen von code in das change-Ereignis. Das plugin wird für Sie tun.
Lesen Sie mehr über es hier: https://github.com/blueimp/jQuery-File-Upload/wiki/Basic-plugin
InformationsquelleAutor Waterscroll