首页 > 代码库 > Uncaught TypeError: Cannot read property 'call' of undefined jquery.validate.min.js:28

Uncaught TypeError: Cannot read property 'call' of undefined jquery.validate.min.js:28

最近在做表单校验的时候,自己写的addMethod 方法老是不起作用,折腾了接近一天的时间。报的错误如下
  1. Uncaught TypeError: Cannot read property ‘call‘ of undefinedjquery.validate.min.js:28
  2. 先来看一下 我自己页面的布局。
  3. top.jsp
  4. 上面的截图为top.jsp的头部引用的表单校验jquery-1.6.js和jquery.validate.min.js 
  5. 我来看我自己需要校验的那个页面的jsp布局(stepThree.jsp)。

我们看到了,我们这个页面通过jsp指令将top.jsp页面引用到stepThree.jsp中,我们看<jsp:include 标签引入的top.jsp放在我们需要校验stepcommon.js的下面,这样就很容易出现问题了,他们之间的引用顺序不对,导致很多jquery的问题会出现,给我们的提示就是,当我们自己的一个页面要引用jquery的帮我们写好的js时,一定要放在最前面,整个页面不要重复引入。正确的看如下图
直接top.jsp放在stepThree.jsp页面的第一个位置,这样top.jsp中引用的第三方js如:jquery-1.6.js和jquery.validate.min.js 就可以直接在stepThree.jsp页面中直接引用,而不需要重复的再次引入。以上的这个错误页自然而然的消失了。