【问题标题】:jQuery Validation Engine not working, getting the message: is not a functionjQuery 验证引擎不工作,收到消息:不是函数
【发布时间】:2015-01-03 14:46:55
【问题描述】:

这是我的代码:

<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script type="text/javascript" src="/js/validation/jquery.validationEngine-en.js"></script>
<script type="text/javascript" src="/js/validation/jquery.validationEngine.js"></script>

<script type='text/javascript'>
        $( document ).ready(function() {

            $(".register_form").validationEngine();

            $(".register_form").bind("jqv.field.result", function(event, field, errorFound, prompText){
                console.log(errorFound) ;
            });
        });
</script>

    <form id="contact-form" action ="<?php echo $this->basePath()."/user/register" ?>" method ="post"  name="register_form" class="register_form">
                    <div class ="col-md-6">
                        <div class="text-fields">
                            <div class="float-input">
                                <input name="username" id="username" type="text" class ="validate[required,custom[onlyLetterNumber],maxSize[20]] text-input"  placeholder="username"  >
                                <span><i class="fa fa-user"></i></span>
                            </div>
                        </div>
                     </div>
                    <button type="submit" name="contact-submit" id="register_submit">
                                <i class="fa fa-user"></i>
                                Register
                    </button>
    </form>

如您所见,我只有一个输入文本字段(用户名)。但是当我在控制台中加载页面时,我收到此错误消息: **

TypeError: $(...).validationEngine is not a function
$(".register_form").validationEngine();

**

为什么?我已经检查了来自 stackoverflow 的多个帖子,这些帖子有相关问题,但没有一个对我有用

【问题讨论】:

  • 您能否通过查看浏览器的控制台确认在加载对 js 文件的相对引用时没有 404? (提示-您可能必须摆脱路径中的领先 /
  • 不是 404,我正在获取代码,我认为与我拥有的另一个 jquery 版本存在冲突,有没有办法保留所有 jquery 版本?\
  • 请不要那样做。代码变得不可维护。以干净的方式进行操作是一个更好的主意。如果您已经加载了 jquery,为什么不使用它呢?只需删除 jquery 的这个引用 - 从它的外观来看,jquery 似乎不是问题 - 它是验证库。
  • 这里有 jquery 版本 jquery-1.6.min.js...检查它们是否与 1.11.2 兼容......position-relative.net/creation/formValidator/js/…

标签: jquery jquery-validation-engine


【解决方案1】:
<script type="text/javascript" src="/js/validation/jquery.validationEngine-en.js"></script>
<script type="text/javascript" src="/js/validation/jquery.validationEngine.js"></script>

我相信你不应该在开头有那些前导斜杠:

<script type="text/javascript" src="js/validation/jquery.validationEngine-en.js"></script>
<script type="text/javascript" src="js/validation/jquery.validationEngine.js"></script>

因此路径错误,库未加载。然后调用尚未定义的函数/方法。

【讨论】:

    【解决方案2】:

    经过一些研究,我注意到此错误仅在验证单选按钮或复选框时出现,如下所示:

    <input id="level1" class="validate[required] radio" name="level" value="1" type="radio">
    <input id="level2" class="validate[required] radio" name="level" value="2" type="radio">
    <input id="level3" class="validate[required] radio" name="level" value="3" type="radio">
    

    删除或更正这些以继续。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-28
      • 2013-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-21
      • 2011-10-22
      相关资源
      最近更新 更多