当您<input type="file">
在应用程序中使用 a 时,您会看到文件选择对话框,其中所有文件都是默认的。
有没有办法为此指定文件类型?例如是否可以仅选择“.txt”文件?
当您<input type="file">
在应用程序中使用 a 时,您会看到文件选择对话框,其中所有文件都是默认的。
有没有办法为此指定文件类型?例如是否可以仅选择“.txt”文件?
这真的很简单。您所做的只是添加一个accept
属性,该属性定义您希望允许的文件扩展名。
<input type="file" accept="image/gif,image/jpeg">
该输入将只允许 gif 和 jpeg,但您可以允许任何逗号分隔的列表。
见: http ://www.cs.tut.fi/~jkorpela/forms/file.html#filter http://www.w3schools.com/tags/att_input_accept.asp
编辑:当然,您也可以使用 javascript 来执行此操作,方法是在选择文件后检查文件类型,但您不想在用户选择文件之前检查吗?
在您的验证中,您可以检查文件类型,或者您可以使用 on change 事件来确定文件类型。
<input name='upload' id='file' type='file' />
Javascript 部分
var file = document.getElementById('file');
if (file.value.test(/(\.txt)|(\.jpg)/gi)) { // case insensitive
// then validate
}
在这种情况下,只接受 txt 或 jpg。但当然你必须在服务器端重新验证,因为 javascript 很容易被绕过
是的,带有accept
属性。
无论您在 HTML 表单中输入什么内容,都可以发布任何 ol' 垃圾,因此请确保验证服务器端发布了正确的文件类型。