Put jQuery BEFORE your parsley script. (And make sure jQuerys linking/loading correctly)
<script src="../jquery.js" ></script>
<script type="text/javascript" src="../GitProjects/Parsley.js/parsley.js"></script>
Question
I thought I followed the doc exactly, but I keep getting errors.
Uncaught TypeError: Cannot read property 'fn' of undefined
That points to this function in parsely.js
$.fn.parsley = function ( option, fn ) {
And then when I click the submit button the console shows
Uncaught TypeError: Object [object Object] has no method 'parsley'
Here is my form
<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>
I don't know if it matters, but I'm running this on xampp in windows as localhost.
La solution
Put jQuery BEFORE your parsley script. (And make sure jQuerys linking/loading correctly)
<script src="../jquery.js" ></script>
<script type="text/javascript" src="../GitProjects/Parsley.js/parsley.js"></script>
Autres conseils
I've also had this same problem with parsley when I have "use strict"; before including parseley when contcatenating and minifying JS files. Placing the "use strict"; text after parsley.js fixed it for me.
Try this
<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>