2010-02-19 55 views
20

Có bất kỳ sự kiện JavaScript nào trong đầu vào type=file không? I E. Tôi muốn bổ sung thêm một file input khi chọn tập tin trong một trong allready tạo:Các sự kiện JS nhập tệp HTML

Diagram:]:

file input 1 
file input 2 
file input 3 

dùng chọn một số tập tin trong input 1 và JS thêm vào tập tin mới

file input 1 - somefile.txt 
file input 2 
file input 3 
*NEW* file input 4 

Tôi đang tìm kiếm sự kiện có ý nghĩa, trên đó tôi có thể ràng buộc phương pháp addFileInput.

Tôi cũng sử dụng jQuery 1.4:]

Cảm ơn bạn

+0

Không có điều gì như là 'đầu vào [loại = html]';) –

+0

Tôi tin rằng 'onchange' sẽ hoạt động. –

+0

Cảm ơn Ionut ... thinkinq nhanh hơn viết, tôi. :] –

Trả lời

35

Tôi tin onchange nên làm việc.

+0

Tính năng này không hoạt động đối với tôi trên Chrome 19, nhưng 'thay đổi 'thì không. –

+4

@TylerCollier Sự kiện vanilla là 'element.onChange = function() {};' và jQuery tương đương là '$ (element) .delegate ('change', function() {});'. – rxgx

+1

http://api.jquery.com/change/ – xilef

2

Tôi nghĩ bạn có nghĩa là type=file?

Cách duy nhất có ý nghĩa là sử dụng cả onclick và onchanged và theo dõi các nội dung để xem nếu nó được thay đổi.

24

Đây là sự kiện đăng nhập bằng Firebug khi lựa chọn một tập tin với Firebug:

  • nhấp chuột clientX = 885, clientY = 207
  • mờ
  • tập trung
  • thay đổi
  • DOMActivate
  • DOMActivate
  • khách hàng di chuộtX = 162, clientY = 27

Tôi đoán sự thay đổi, là một trong những bạn đang tìm kiếm:

$ ('#your_form_id input[type=file]').live ('change', function() { 
    $(this).parent().append ($('<input type="file" />')); 
}) 

bạn chỉ cần phải thích ứng với bộ chọn và mã trước đó nên làm việc

+0

cảm ơn bạn, tôi đã làm điều đó với sự trợ giúp của ionut:] –

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