2011-08-13 17 views
8

Dosya giriş elemanlarında sadece XML dosyalarını nasıl gösterebilirim? "Kabul et" özelliği hakkında okudum, ancak hiçbir tarayıcının gerçekten desteklemediğini öğrendim. Burada bazı JS komut dosyaları bulundu ama onlar de işe yaramadı: - \Sadece XML dosyalarını HTML dosya giriş elemanında gösterme

(Ben de bu sunucu tarafı kontrol ediyorum ama o da istemci tarafında yapmak istiyorum)

Teşekkür

+0

kontrol kontrol etmek istiyorsanız [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- with-html-input-file-type/1978160 # 1978160 –

cevap

-1

Değil Bunu yapabileceğinizden emin olun, ancak en azından bir geri çağırma işlevini kullanabilir ve .xml uzantısı için giriş değerini kontrol edebilirsiniz.

Pasajı:

<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

Evet, bunu gönderirken yapabileceğimi biliyorum, ancak bir kullanıcı dosyayı taradığında bunu yapmayı tercih ediyorum. Görüntü yükleme sitelerinin sadece resimler için kısıtlandığını gördüm, ancak bunu elde etmek için flaş kullanıyorlar ve flaş kullanmak istemiyorum: - \ – Shai

+0

Hm Eğer bir dosyayı seçtiğinde kullanıcıya doğru bir yanıt vermek istiyorsanız Sadece html/js ile görünmüyor olabilirsiniz, ancak en azından kullanıcı bir dosya seçtiğinde bazı geri bildirimler verebilirsiniz. Cevabımı gösteri için bir snippet ile güncelledim. Burada yanlış uzantıya sahip bir dosya seçildiyse, alan değerini boş olarak ayarladım. Bir hatayı göstermek için muhtemelen daha görsel efektler uygulayabilirsiniz. – kjetilh

İlgili konular