js问题输入文件按钮不起作用,弹出窗口不会显示

时间:2017-07-18 17:45:50

标签: javascript jquery html parsley.js

我有一个问题,我使用js插件Parsley验证我的表单,并在启动Parsely插件的页面上输入表单输入类型="文件"不工作,不可点击" ,单击时看到按钮动画,但没有弹出文件系统选择要上传的文件,并且输入未经解析验证,所有页面上的输入有Parsly不起作用,当我注释掉时Parsley实例化文件输入按预期工作,这是我如何初始化插件:

app.Manage.BasicInfoForm.parsley(app.Manage.validatorConfig).validate();

在执行此行之前,如果我声明自定义验证器将阻止文件输入工作,输入也能正常工作,如:

window.Parsley.addValidator('reservednamescheck', 
                function (value, requirement) {
                      var noAllow = app.websiteManage.noAllowWebsiteNames;
                      var forbbidenName = '';
                      for (var i = noAllow.length - 1; i >= 0; i--) {      
                          if (value === noAllow[i]) {
                            forbbidenName = noAllow[i];
                            return false;
                          }
                      }
                      return true;
                }, 32)
                .addMessage('en', 'reservednamescheck', 'Sorry but this name is reserved');

所以这也会阻止文件输入同样工作,即使文件输入在页面的任何地方是独立的,当Parsley存在时它也不起作用,请帮助,谢谢

2 个答案:

答案 0 :(得分:1)

我的不好,问题不在于插件,而是在jquery事件中,这段代码导致了问题:

$(document).on('click input ', app.websiteManage.websiteNameInput , function(event) {
                event.preventDefault();
                // detects if inputed website name accordingly changes the title
                app.websiteManage.websiteNameBind.html(app.websiteManage.websiteNameInput.val());
             }); 

所以我正在听取点击并阻止默认行为,这就是为什么我的输入文件无法正常工作,感谢所有试图提供帮助的人;)

答案 1 :(得分:0)

检查您的版本号。 API已更改,在2.0+版本中,第3个参数是欧芹实例。<​​/ p>

因此,您可以在函数中添加消息,例如:

window.Parsley.addValidator('myvalidator', {
                requirementType: 'string',
                validateMultiple: function(value, dataProp, instance) {
                    .
                    .
                    .

                    instance.reset(); // clear previous error
                    instance.addError('en', {message: 'my message here'});
                    return false;
                },
                messages: {
                    en: '...'
                }
            })
相关问题