miałem post tutaj:IE9 input file wyzwalanie za pomocą JavaScript
Mam jednak napotkasz nowego zdarzenia dotyczące obchodzenia formularza upload plików i był ciekaw, czy ktoś prowadzi do tego problemu .
Mój pierwotny problem polegał na tym, że nie mogłem uruchomić zdarzenia onchange i pomyślałem, że to może być problem z moim javascriptem, ale odkryłem, że ma to związek ze sposobem aktywacji formularza.
Mam plik wejściowy
<input type="file" name="abc"/>
teraz robiłem 2 rzeczy.
Ukryłem dane wejściowe i utworzyłem przycisk (dla lepszej kontroli stylów), który aktywuje wejście.
<button id="mybutton">click to upload a pic</button>
<input type="file" name="abc"/>
a następnie JS dla interakcji między nimi:
$("#mybutton").click(function() {
$("Input[type=file]").click()
};
i oczywiście złożyć na formularzu (używam rodzica w tym przykładzie, ale w moim rzeczywisty kod używam id formularza).
$("input[type=file]").change(function() {
$(this).parent().submit();
});
Kiedy klikam „myButton” oczekiwany wynik nie występują moje okno przeglądania otwiera i pozwala mi wybrać plik z mojego komputera. Również po zmianie pliku we wszystkich przeglądarkach innych niż IE uruchamiane jest zdarzenie onchange. Teraz, jeśli odkryję formularz i ręcznie kliknij przycisk "przeglądaj" i wybierz plik, w którym uruchamiane jest zdarzenie onchange. Zasadniczo przeglądarka traktuje kliknięcie przycisku pliku rzeczywistego inaczej niż robi $ ("input [type = file]"). Click()
ktoś wie jak to naprawić?
Człowiek to działa dobrze, tego właśnie szukałem! Wypróbowałem wiele innych metod w IE 9, ale tylko to zadziałało! – Daniel
@A. Klemens Dzięki, to naprawdę mnie uratowało! –
IMHO powinno to być odpowiedzią! –