我正在使用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/

10-11 22:54
查看更多