2013-05-17 100 views
0

我以为我完全按照文档,但我不断收到错误。Parsley.js控制台错误

Uncaught TypeError: Cannot read property 'fn' of undefined 

指向在parsely.js

$.fn.parsley = function (option, fn) { 

然后这个功能,当我点击提交按钮控制台显示

Uncaught TypeError: Object [object Object] has no method 'parsley' 

这里是我的形式

<html> 
    <head> 
     <script type="text/javascript" src="../GitProjects/Parsley.js/parsley.js"></script> 
     <script src="../jquery.js" ></script> 
     <link href="css/bootstrap.css" rel="stylesheet" /> 
    </head> 
    <body> 

<form id="demo-form" data-validate="parsley"> 
    <label for="fullname">Full Name * :</label> 
    <input type="text" id="fullname" name="fullname" data-required="true" /> 

    <label for="email">Email * :</label> 
    <input type="text" id="email" name="email" data-trigger="change" data-required="true" data-type="email" /> 

    <label for="website">Website :</label> 
    <input type="text" id="website" name="website" data-trigger="change" data-type="url" /> 

    <label for="message">Message (20 chars min, 200 max) :</label> 
    <textarea id="message" name="message" data-trigger="keyup" data-rangelength="[20,200]"></textarea> 
    <input type="button" value="submit" onclick="$('#demo-form').parsley('validate')"/> 
</form> 

    </body> 
</html> 

我不知道它是否重要,但我在Windows中以xampp身份在localhost上运行此操作。

回答

0

我也有香菜此相同的问题时,我有“使用严格的”;在包含parseley的时候要控制和缩小JS文件。放置“严格使用”; parsley.js后面的文本修复了我的问题。

+0

很抱歉,如果这还不清楚。我的评论假设你已经在parsley.js之前加入了jQuery。但是,在你连接多个JS文件的工作流中,*在顶部*包括jquery,这是我遇到这个错误时必须要做的工作。对于您的工作流程或包含文件的方法,它可能会有所不同。 – jthomas

0

试试这个

<html> 
<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
    <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
    <script src="http://parsleyjs.org/dist/parsley.js"></script> 
</head> 
<body> 
    <form id="demo-form" data-parsley-validate="true"> 
     <label for="fullname">Full Name * :</label> 
     <input type="text" id="fullname" name="fullname" required /> 

     <label for="email">Email * :</label> 
     <input type="email" id="email" name="email" data-trigger="change" required /> 

     <label for="website">Website :</label> 
     <input type="url" id="website" name="website" data-trigger="change" /> 

     <label for="message">Message (20 chars min, 200 max) :</label> 
     <textarea id="message" name="message" data-trigger="keyup" data-parsley-range="[20,200]"></textarea> 
     <input type="submit" value="submit" /> 
    </form> 

</body> 
</html>