HI Guys,
我有下面的代码,我检查所选文件的文件类型
hiddenFileInputFile
是文件输入类型
下面的代码工作正常但是如果用户没有提供.csv
文件,那么它会显示警报,这很好,但是我希望文件对话框保持打开状态,这是没有发生的。
请告知。
还有什么方法可以直接将过滤器应用到文件对话框,使用jquery / javascript只选择.csv
文件?
Element.find('input.hiddenFileInputFile').change(function ()
{
var filename = $(this).val();
if (!/\.csv$/.test(filename)) {
alert('Please select a csv file');
return false;
}
});
感谢。
答案 0 :(得分:1)
在警报后调用click
事件:
if (!/\.csv$/.test(filename)) {
alert('Please select a csv file');
$(this).click();
return false;
}
这不会“保持打开”这是不可能的,但在文件无效时重新打开它。
答案 1 :(得分:0)
不幸的是,出于安全原因,您无法从外部触发文件输入点击事件。但是,如果您想在客户端限制用户,可以尝试:
<input type="file" accept="text/csv" />
这只会使.csv类型文件在打开的文件对话框中可见。但是我也会在服务器端放置一个控件。如果不是正确的类型,您可以打开一个警告对话框并相应地设置文件输入的样式(例如红色边框)并让用户打开文件对话框,因为没有任何方法可以触发它。
jquery的一些插件提供了一些方法,可以让您对上传过程进行大量控制。
Jquery plugin 1, uploadify jquery
仅举几例。
希望它有所帮助。