在HTML文件输入元素中只显示XML文件

Showing only XML files in HTML file input element

本文关键字:文件 显示 XML 元素 HTML 输入      更新时间:2023-09-26

如何在文件输入元素中只显示XML文件?我读了关于"accept"属性的文章,但也了解到没有浏览器真正支持它。我在这里找到了一些JS脚本,但它们工作得不好:-'

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

谢谢

答案很简单,您使用MIME类型。如果是xml文件,只需输入:

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

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

不确定是否可以这样做,但至少可以使用回调函数并检查.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>