2011-08-13 26 views
8

Làm cách nào để chỉ hiển thị tệp XML trong phần tử nhập tệp? Tôi đọc về thuộc tính "chấp nhận" nhưng cũng không học được trình duyệt nào thực sự hỗ trợ nó. Tôi tìm thấy ở đây một số kịch bản JS nhưng họ đã không làm việc tốt: - \Chỉ hiển thị tệp XML trong phần tử nhập tệp HTML

(Tôi đang kiểm tra phía máy chủ này là tốt nhưng muốn làm điều đó phía khách hàng quá)

Cảm ơn

+0

Kiểm tra câu trả lời cho khác này SO câu hỏi [http://stackoverflow.com/questions/1978134/how-to-restrict-file-types-with-html-input-file-type/1978160#1978160][1] [ 1]: http://stackoverflow.com/questions/1978134/how-to-restrict-file-types- với-html-input-file-type/1978160 # 1978160 –

Trả lời

-1

Không chắc chắn nếu bạn có thể làm điều đó, nhưng ít nhất bạn có thể sử dụng chức năng gọi lại và kiểm tra giá trị đầu vào cho phần mở rộng .xml.

Snippet:

<script type="text/javascript"> 
    function isXml(input) 
    { 
     var value = input.value; 
     var res = value.substr(value.lastIndexOf('.')) == '.xml'; 
      if (!res) { 
       input.value = ""; 
      } 
     return res; 
    } 
</script> 

<form method="post" action=""> 
    <input type="file" name="myfile" id="myfile" onchange="return isXml(this)" /> 
    <input type="submit" /> 
</form> 
+0

yea, tôi biết tôi có thể làm điều này trong khi gửi nhưng tôi thích làm như vậy khi người dùng duyệt tìm tệp. Tôi thấy rằng các trang tải lên hình ảnh chỉ giới hạn cho hình ảnh nhưng chúng đang sử dụng flash để đạt được nó và tôi không muốn sử dụng đèn flash: - \ – Shai

+0

Hm nếu bạn muốn cung cấp phản hồi cho người dùng khi họ chọn tệp bạn có thể không nhìn chỉ đơn giản là html/js, nhưng ít nhất bạn có thể đưa ra một số phản hồi khi người dùng chọn một tệp. Tôi đã cập nhật câu trả lời của mình bằng một đoạn trích để trình diễn. Ở đây tôi chỉ cần đặt giá trị trường là trống nếu tệp có phần mở rộng sai được chọn. Bạn có thể thực hiện một số hiệu ứng hình ảnh khác để chỉ ra lỗi. – kjetilh

13

Câu trả lời là khá đơn giản, bạn sử dụng các loại MIME. Vì vậy, nếu nó là một file xml bạn muốn, bạn chỉ cần làm:

<input type="file" accept="text/xml" /> 

Nếu bạn muốn xem toàn bộ danh sách các loại MIME, kiểm tra trang web này http://www.iana.org/assignments/media-types/media-types.xhtml

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