Uncaught TypeError: $(...).Validform is not a function

Uncaught TypeError: $(...).Validform is not a function

这错误的意思是:未捕获TypeError:$(…)。Validform不是一个函数

先来看看我在网上搜索到的答案!

 最近为项目写cms系统,在新增/编辑文章的页面,一些input诸如文章题目,作者等等需要验证是否已经填写,于是使用jQuery.validate.js来做这个工作,自己写了个验证的validate.js。然后运行了下,发现出了$(#contentForm).validate is not a function的错误,反复检查了ID名字拼写,自己写的JS的语法等等,都没发现错误,正惆怅中,突然想到可能是覆盖的问题,由于我们的项目的页面分别由head.PHP,页面.php,和foot.php组成,在head.php中载入所需要的js文件(包括jquery),而由于我在新增/编辑页面中使用一个需要jquery支持的控件jquery.simpleTree.js再一次载入了jquery.js文件,所以造成了我2次载入jquery的问题,而使用jquery.validate.js是需要有正确的载入顺序的,首先jquery.然后是jquery.validate.js,然后自己的validate.js文件,这样才能起作用,而自己在head.php载入jquery,jquery.validate.js,以及自己的validate.js文件后,又在自己的页面中重新载入了一次jquery,自然出现了$(#form).validate is not a function的错误了。

  最后自己总结下,很多的jquery控件都需要先载入jquery.js文件,顺序一定不能出错,也就是说要保证jquery.js文件最新的一次载入是在这些控件载入之前。

http://blog.csdn.net/magic_zj00/article/details/6460648


其实遇到这个错误满头大的,搞了一中午都没有解决这个问题,说好的JQ 顺序问题,为啥我在单独测试这个的时候一点毛病没呢?运行正常!

最初的解决办法:功能单独拿出来进行测试,调试!如果成功,放到正确页面位置

第二步:放到正确页面位置后报错!原因:JQ引用过多,造成JQ程序引用错误!

第三步:把该功能放到结束标签前面,进行绝对定位,完美解决!


你可能感兴趣的:(JQ)