2011-08-13 55 views
8

如何只顯示文件輸入元素中的XML文件? 我讀了關於「接受」屬性,但也沒有得到任何瀏覽器實際上支持它。我發現這裏的一些JS腳本,但他們沒有工作: - \僅顯示HTML文件中的XML文件輸入元素

(我檢查這個服務器端很好,但想做到這一點客戶方太)

感謝

+0

退房這個問題的答案其他SO質疑 [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-與-html-input-file-type/1978160#1978160 –

回答

-1

不當然,如果你可以這樣做,但至少你可以使用回調函數並檢查.xml擴展名的輸入值。

段:

<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

是的,我知道我可以在提交時這樣做,但我更喜歡當用戶瀏覽文件時這樣做。我看到圖片上傳網站僅限圖片,但他們使用Flash來實現它,我不想使用閃光燈: - \ – Shai

+0

如果您想在用戶選擇文件時給用戶一個急迫迴應你可能會看起來簡單的HTML/JS,但至少你可以在用戶選擇一個文件時給出一些反饋。我用一個演示片段更新了我的答案。在這裏,如果選擇擴展名錯誤的文件,只需將字段值設置爲空。你可能可以實現一些更多的視覺效果來表示錯誤。 – kjetilh