Tôi đã có một bài ở đây:IE9 tập tin đầu vào kích hoạt sử dụng Javascript
Tuy nhiên, tôi đã chạy vào một vụ việc mới liên quan đến việc xử lý hình thức upload file và tò mò nếu ai đã chạy vào vấn đề này .
Vấn đề ban đầu của tôi là tôi không thể có sự kiện onchange để làm việc và tôi nghĩ có lẽ đó là vấn đề với javascript của tôi, nhưng tôi thấy rằng nó phải làm với cách biểu mẫu đang được kích hoạt.
Tôi có một tập tin đầu vào
<input type="file" name="abc"/>
bây giờ tôi đã thực hiện 2 điều.
Tôi đã ẩn đầu vào và tạo nút (để kiểm soát kiểu tóc tốt hơn) kích hoạt đầu vào.
<button id="mybutton">click to upload a pic</button>
<input type="file" name="abc"/>
và sau đó là JS cho sự tương tác giữa hai:
$("#mybutton").click(function() {
$("Input[type=file]").click()
};
và dĩ nhiên một nộp đối với hình thức (i sử dụng cha mẹ trong ví dụ này, nhưng bạn trong mã thực tế của tôi, tôi sử dụng id biểu mẫu).
$("input[type=file]").change(function() {
$(this).parent().submit();
});
Khi tôi nhấp vào "mybutton", kết quả mong đợi sẽ xảy ra khi cửa sổ duyệt của tôi mở và cho phép tôi chọn tệp từ máy tính của mình. Ngoài ra khi tôi thay đổi tệp trong tất cả các trình duyệt khác ngoài IE, sự kiện onchange được kích hoạt. Bây giờ nếu tôi bỏ ẩn biểu mẫu và nhấp vào nút "duyệt" theo cách thủ công và chọn tệp, sự kiện onchange sẽ được kích hoạt. Vì vậy, về cơ bản trình duyệt xử lý việc nhấp vào nút tệp thực tế khác với việc thực hiện $ ("đầu vào [loại = tệp]").()
bất kỳ ai biết cách sửa lỗi này?
Người đàn ông này hoạt động tốt, đó là những gì tôi đang tìm kiếm! Tôi đã thử rất nhiều phương pháp khác trong IE 9 nhưng chỉ làm việc này! – Daniel
@A. Clement Cảm ơn điều này thực sự đã cứu tôi! –
IMHO này đáng lẽ phải là câu trả lời! –