Ich versuche, jQuery 100% mit seiner einfachen und eleganten API zu umarmen, aber ich habe eine Inkonsistenz zwischen der API und straight-up HTML, die ich nicht kann herausfinden.jQuery Änderungsmethode bei Eingabe Typ = "Datei"
Ich habe ein AJAX-Datei-Uploader-Skript (das richtig funktioniert), das ich jedes Mal ausführen möchte, wenn sich der Dateieingabewert ändert. Hier ist mein Arbeitscode:
<input type="file" size="45" name="imageFile" id="imageFile" onchange="uploadFile()">
Als ich das onchange
Ereignis einer jQuery Implementierung konvertieren:
$('#imageFile').change(function(){ uploadFile(); });
das Ergebnis ist nicht das gleiche. Mit dem Attribut 10 wird die Funktion uploadFile()
aufgerufen, wenn der Wert wie erwartet geändert wird. Aber mit dem Ereignishandler jQuery API .change()
löst das Ereignis nur das erste Mal aus, wenn ein Wert geändert wird. Jede Wertänderung danach wird ignoriert. Das scheint mir falsch zu sein, aber das kann sicherlich kein Versehen von jQuery sein, oder?
Hat jemand anderes das gleiche Problem und haben Sie eine Problemumgehung oder eine Lösung für das Problem als das, was ich oben beschrieben habe?
Verwenden Sie IE zufällig? – spig
Ich vermeide generell IE wie Pest. LOL Aber im Ernst, ich entwickle mich in Firebox, damit ich Firebug und seine Großartigkeit nutzen kann und dann in IE, Chrome und Safari teste. Warum fragst du? Die .live() Methode (Antwort unten) hat dieses Problem für mich gelöst. – gurun8
@ gurun8 Warum hat Ihr uploadFile() keinen Parameter? Ich möchte die ASP.NET MVC-Methode so nennen, aber das Javascript sollte die Datei senden, die es als Parameter hochladen möchte –