2011-06-08 41 views
0

我正在使用jQuery验证插件与Wordpress来验证我的联系页面。我注意到,在有表单的联系页面上,我测试的两个浏览器(IE7和Firefox 4与Firebug)没有Javascript错误。在其中一个脚本被加载,但没有形成不同的页面,Firebug的报道:当元素没有找到jQuery插件的Javascript错误

的jQuery(“形式”)确认不是一个函数

IE7说的页面包含错误了。 。

这是我到目前为止有:

jQuery(document).ready(function() { 
    jQuery("form").validate({ 
     rules: { 
      contactName: "required", 
      email: { 
       required: true, 
       email: true 
      }, 
      message: "required" 
     }, 
     messages: { 
      name: "A valid name is required.", 
      email: "A valid email address is required.", 
      message: "A message is required." 
     }, 
     errorPlacement: function(error, element) { 
      error.insertAfter(element.siblings("label")); 
     } 
    }); 
}); 

我想所有的jQuery插件一起打包在一个文件,而不是将它们分开并单独加载它们。为什么会导致错误?我甚至尝试用“#contact”替换“表单”。

+0

你能给我们一个链接到页面吗?我猜你是在异步加载插件,所以.ready()在加载validate插件之前触发。 – 2011-06-08 19:07:00

回答

0

您可以更改验证以首先检查元素的存在。例如:

var $form = jQuery("form"); 
if ($form.length) { 
    $form.validate({ 
    // your code 
    }); 
} 
相关问题