仅显示HTML文件输入元素中的XML文件

Sha*_*hai 12 html javascript forms input selection

如何在文件输入元素中仅显示XML文件?我读到了"accept"属性,但也了解到没有浏览器实际支持它.我在这里找到了一些JS脚本,但它们运行不正常: - \

(我也在检查这个服务器端,但也想在客户端这样做)

谢谢

小智 27

答案非常简单,您使用的是MIME类型.因此,如果它是您想要的xml文件,您只需:

<input type="file" accept="text/xml" />
Run Code Online (Sandbox Code Playgroud)

如果要查看MIME类型的完整列表,请查看此站点http://www.iana.org/assignments/media-types/media-types.xhtml

  • 实际上,现在,至少在 Chrome 中,使用accept=".xml" 来显式拥有 XML 选项。text/xml 选项将允许 XML、XSLT、XBL 和 XSL。 (3认同)

kje*_*ilh -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>
Run Code Online (Sandbox Code Playgroud)