Hochladen von Dateien unter Verwendung des Felds input type = "file" mit dem Ereignis .change () wird in IE und Chrome nicht immer ausgelöst [duplizieren]

Diese Frage hat hier bereits eine Antwort:

jQuery-Änderungsmethode für Eingabetyp = "Datei" 3 Antworten

Ich habe einen einfachen Code zum Hochladen von Dateien:

<code>$(document).ready(function () {
    $(".attachmentsUpload input.file").change(function () {
        $('form').submit();
    });
});

<form class="attachmentsUpload" action="/UploadHandler.ashx" method="post" enctype="multipart/form-data">
    <input type="file" class="file" name="file" />
</form>
</code>

Während ich auf Eingabe klicke und dann eine Datei im Dialogfeld auswähle, übermittle ich diese Datei mit Ajax. Dies ist hier kein wichtiger Teil. Ein wichtiger Teil ist, dass das .change () -Ereignis in IE und Chrome nicht ausgelöst wird, während ich dieselbe Datei im Dialogfeld zum zweiten Mal auswähle, nachdem ich die erste Datei gesendet habe. Aber während ich eine andere Datei auswähle, wird das Ereignis ausgelöst und funktioniert ordnungsgemäß. Unter Firefox wird die ganze Zeit gefeuert.

Wie kann man das umgehen, um wie erwartet zu arbeiten (wie in Firefox)?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage