2010-09-22 28 views
9

Tôi có đoạn mã sau:trình duyệt tập tin mở sử dụng jquery

<p onclick="jQuery('#file').click()">Select a file</p> 
<input type="file" id="file" name="file" /> 

Khi người dùng nhấp vào "Chọn tập tin", nó cũng là nghĩa vụ phải mở trình duyệt tập tin giống như khi bạn bấm vào nút "Browse" được tạo bởi <input type="file" />, nơi người dùng có thể chọn tệp.

Nó hoạt động tốt trong Chrome và IE7. Làm thế nào để làm cho nó hoạt động trong Firefox?

Trả lời

10

Tin tôi đi, tôi đã gặp rắc rối về điều đó. Nó sẽ không hoạt động trên Firefox và tôi không tìm thấy câu trả lời về cách làm cho nó hoạt động.

Tôi nghi ngờ bạn đang cố tùy chỉnh giao diện của tệp nhập của bạn. Tôi đề nghị, bạn sử dụng độ mờ đục. Đặt độ mờ của tệp đầu vào về 0, để làm cho nó không hiển thị. Sau đó đặt trên nó hai yếu tố span trên nó. Sau đó, bạn có thể tạo kiểu cho khoảng bao nhiêu tùy thích. Khi bạn nhấp vào bất kỳ khoảng thời gian nào, nhấp vào tệp đầu vào cũng sẽ kích hoạt.

simple demo


thêm ghi chú:

Với nó, bạn có sức mạnh để thay đổi giao diện của tập tin đầu vào. Vấn đề là, độ mờ sẽ không hoạt động trên IE6. ;)

+0

nó hoạt động cho mở, làm thế nào cani làm cho nó tiết kiệm được nút? – anam

+0

@simmisimmi Tôi không hiểu câu hỏi của bạn .... – Reigel

+0

tôi muốn mở filebrowser để lấy vị trí từ người dùng bằng cách nhấp vào nút lưu. – anam

10

Có cách tốt hơn để mở hộp thoại (nó hoạt động trên tất cả các trình duyệt hiện đại tại thời điểm này). Chỉ cần thay đổi

jQuery('#file').click(); 

để

jQuery('#file').trigger('click'); 
+0

Phương pháp này có hoạt động trên tất cả các trình duyệt hiện đại không? – alex

+0

Có, theo nội dung câu trả lời. – Jason

Các vấn đề liên quan