2012-07-13 36 views
6

Chúng tôi có thể sử dụng file.onchange nếu chúng tôi đặt cuộc gọi lại sự kiện để đọc tệp bằng javascript, nhưng cách đặt sự kiện khi người dùng hủy tải lên (đóng bảng duyệt)?sự kiện hủy tải lên tệp trong javascript

+0

Có lẽ nếu bạn đề cập đến trường hợp sử dụng của bạn, ai đó có thể đề xuất một sự thay thế. –

+0

tôi chỉ muốn gửi tệp mà không cần chuyển hướng, vì vậy tôi phải sử dụng iframe. nhưng tôi muốn khung nội tuyến được xây dựng ngay sau khi người dùng nhấp vào và biến mất ngay sau khi người dùng hoàn tất bằng bảng điều khiển. đó là ý tưởng – Dagon

+0

Hmm, vậy bạn có muốn kích hoạt tải lên ngay sau khi người dùng chọn thứ gì đó không? Đề xuất của tôi sẽ cho phép người dùng chọn tệp, sau đó ngay bên cạnh tệp đó - có nút tải lên. Sau đó, bạn có thể tạo iframe khi họ nhấp vào đó. Bằng cách đó bạn biết giá trị của bộ chọn tập tin, và rõ ràng nếu nó là nil, bạn có thể trình bày một số loại thông báo xác thực. –

Trả lời

1

Không có API cho phương thức nhập tệp. Bên cạnh đó, nếu người dùng đóng trình duyệt, mã của bạn sẽ không chạy nữa, phải không?

Tất nhiên có phương thức window.onunload cho phép bạn phát hiện ví dụ bạn đưa ra.

Mỗi nhận xét, điều tốt nhất tôi có thể nghĩ ra là sẽ hữu ích nếu không có gì được chọn, file.value.length sẽ là 0.

+0

im xin lỗi. nó không phải là trình duyệt. ý tôi là bảng duyệt tệp. có thể được mở khi chúng ta nhấp vào phần tử Dagon

+3

Không phải lo lắng. Thật không may, không có sự kiện hủy bỏ. Điều duy nhất tôi nghĩ ra là sẽ hữu ích nếu không có gì được chọn, file.value.length sẽ là 0. Thật không may, bạn không có gì để phát hiện khi người dùng thoát khỏi phương thức, ngoại trừ onchange, khi bạn trỏ chỉ xảy ra khi một tệp được chọn. –

+0

tiếc là giá trị không thay đổi giữa trước và sau khi cửa sổ bảng điều khiển bật lên. vì vậy ngay cả với setinterval chúng ta không thể bắt được popup. Bạn có nghĩ rằng có bất kỳ giá trị nào khác sẽ được thay đổi ngay sau khi cửa sổ bật lên của bảng điều khiển không? – Dagon

0

không hỗ trợ trình duyệt "onfileopendialogboxclose" hoặc "onfileselectioncancel" sự kiện. cộng, việc lựa chọn tập tin hộp thoại không phải là một yếu tố và không thể được đánh bắt như một yếu tố html

+0

Bạn sẽ không nói tôi đã trả lời câu hỏi của bạn? Tạo nên hai tên sự kiện không tồn tại và sử dụng thông tin của tôi không thực sự trả lời câu hỏi. –

+0

xong ........... – Dagon

+0

Cảm ơn bạn! Upvoted câu hỏi, vì vậy bạn sẽ nhận được một số điểm. –

-3

Nó rất đơn giản với jQuery:

$("#fileInputId").change(function() { 
    //implement your code here 
}); 
+2

Điều này sẽ không giải quyết được vấn đề mà OP đang yêu cầu –

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