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.

Était-ce utile?

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>

http://parsleyjs.org/doc/#installation

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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top