2011-08-13 58 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