2010-05-04 33 views
5

Làm cách nào để tự động mở hộp thoại trình duyệt của loại đầu vào = "tệp" khi trang mở lần đầu tiên?kiểu đầu vào = "tệp" tự động nhấp

+2

bạn có cần giải pháp thuyết bất khả tri của trình duyệt hoặc bạn có thể nhắm mục tiêu một giải pháp cụ thể không? – lincolnk

+0

http://stackoverflow.com/questions/1829774/jquery-simulating-a-click-on-a-input-typefile-doesnt-work-in-firefox – bobince

Trả lời

6

Tôi không nghĩ rằng bạn nên làm điều này. Nếu bạn đã từng truy cập vào một trang MySpace, bạn biết làm thế nào bực bội nó có thể là khi một trang web kích hoạt mọi thứ một mình khi trang tải.

Không vi phạm giao diện người dùng được yêu cầu hoạt động như thế nào, hãy để người dùng yêu cầu hộp thoại.

Bên cạnh đó, nếu người dùng theo bản năng đóng cửa sổ đó giống như cửa sổ bật lên và sau đó nhận ra họ cần nó, có thể không rõ ràng cách họ sẽ lấy lại hộp thoại. Sau đó, họ sẽ tải lại trang chỉ để hiển thị lại hộp thoại - tất cả những điều bực bội bạn có thể tránh được.

Điều đó đang được nói, tôi không chắc chắn tại sao bạn muốn làm điều này ngay từ đầu. Đây chỉ là phản ứng đầu tiên của tôi đối với những gì bạn đang hỏi.

+0

Tôi hoàn toàn đồng ý với bạn Carson – GerManson

+1

có thể có lý do hợp lệ cho điều đó! ví dụ bạn bấm vào một nút có tên là "tải lên" và sau đó sẽ mở ra một cửa sổ phương thức, nơi bạn có thể xem và chỉnh sửa hình ảnh bạn đã chọn trước khi tải lên. nhưng bạn không muốn có nút "tải lên" khác (và xấu xí) trong cửa sổ phương thức. – EscapeNetscape

1

lửa sự kiện click vào nút trên tài liệu sẵn sàng

$(document).ready(function() { 
    $("#buttonid").click(); 
}); 
+1

Bây giờ chúng ta không đưa ra các giả định ngoại lai. Thay vào đó, hãy thử 'document.getElementById'. – icio

+0

Không hoạt động - http://jsbin.com/akure - ít nhất không có trong Firefox ... – gnarf

+0

@gnarf: Nó hoạt động trong IE8 và Chrome. – SLaks

2

này là hoàn toàn không thể trong Firefox.

Trong các trình duyệt khác, bạn có thể:

document.getElementById('inputId').click(); 
+0

Vui lòng cho chúng tôi biết lý do. –

+0

@Diodeus: Bởi vì Firefox không hỗ trợ nó. – SLaks

+3

Và trong IE, các biểu mẫu có nút tải lên tệp đã được nhấp bằng tập lệnh cũng sẽ không gửi đúng. Toàn bộ ý tưởng về cơ bản là một mất mát chết. – bobince

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