You are attaching a submit event to an input element. If you check the jquery $ .submit () documentation , it says that:
A submit event is dispatched to an element when a user tries to submit a form. It can only be attached to <form> elements . Forms can be represented either by pressing explicit <input type="submit"> , <input type="image"> , or <button type="submit"> , or by pressing Enter when certain form elements have focus.
This is your main problem, so alert will never be displayed (in fact, this code never executes).
I would also change a few things:
$('#rform').parsley( 'validate' ) must be $('#rform').parsley().validate() if you are using Parsley 2. *$('#rform').parsley( 'isValid' ) must be $('#rform').parsley().isValid() .- Use
$.on() instead of $.submit() . - Remove
onClick from the register_signup element. Since you are already using javascript, I would do it directly in javascript code instead of onclick. This is a more personal preference.
So your code would be something like this:
<form id='rform' name='rform'> <input id='reg_password' class='register_input' type='text' autocomplete="off" data-parsley-trigger="change" placeholder='Password' required> <input id='reg_cpassword' class='register_input' type='text' name="reg_cpassword" placeholder='Confirm password' data-parsley-equalto="#reg_password" required> <input id='register_signup' type="submit" value='Sign Up' /> </form> <script> $(document).ready(function() { $("#rform").on('submit', function(e){ e.preventDefault(); var form = $(this); form.parsley().validate(); if (form.parsley().isValid()){ alert('valid'); } }); }); </script>
source share