我正在使用jquery多文件上传插件http://www.fyneworks.com/jquery/multifile能够选择文档,但是当我尝试选择错误的文件时,它将验证消息显示为警报
您不能选择.mp4文件。
再试一次...
而不是警报消息如何显示为验证文本消息?还可以使用此插件为文件添加“必需”验证。
最佳答案
我看到你posted the question also in the plugin's Github。在等待创建者的答复时。您可以使用以下两个“ hacky”选项:
修改插件的本地版本,并在代码末尾删除alert()
:
...
error:function(a){"undefined"!=typeof console&&console.log(a),alert(a)}
...
或将其替换为将显示验证文本消息的功能:
...
error:function(a){"undefined"!=typeof console&&console.log(a),myFunction(a)}
...
function myFunction(errorMessage) {
// PLACE YOUR CODE HERE
}
如果文件失败,则停止事件传播:使用插件提供的验证事件来停止警报的执行(尤其是
onFileInvalid
事件)。$('#WithEvents').MultiFile({
max: 2,
max_size: 100,
accept: 'jpg',
onFileInvalid: function (element, value, master_element, event) {
// PLACE YOUR CODE HERE
event.preventDefault();
return false;
},
});
的确,此
event.preventDefault()
不能正常工作,但是会产生一个错误,该错误会停止执行警报(我知道这不是最佳解决方案,但是可以正常工作)。另外,作为运行代码的一部分,您必须将输入的值重置为一个空文件,否则仍然会选择不正确的文件(例如
$("#myInput").val("")
之类的东西)。关于根据需要进行字段设置,您无需在插件或其他任何东西上进行更改,只需指出您的字段为
required
,然后借助HTML5的神奇之处和您的浏览器,就可以完成此操作:<input multiple type="file" id="WithEvents" required />
您可以在此处看到一个示例:http://jsfiddle.net/8ma0vmxd/(我直接在JS窗口中复制了插件的代码,因此您可以轻松地看到
alert()
到底在哪里)。关于javascript - 如何在JQuery Multifile中删除警报验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28766508/