简体   繁体   中英

Parsley Form Validation Error

Okay,

I'm still a javascript student so I need some help. I'm using parsley.js for form validation and then jquery ajax to submit the form. I keep getting this luke warm message in the console to bind parsley to an existing element. I've followed all the instructions but continue to get a warning.

How can I get rid of the warning?

Code can be seen here: http://madmen6raphics.com/clients/marble/

thanks in advance.

Here is the code:

HTML:

<form action='mail_form.php' data-parsley-validate id='newsletter_signup' method='post' name='newsletter_signup' novalidate>
            <fieldset>
              <legend>Joing our mailing list!</legend>
              <label for='name'>name:</label>
              <input data-parsley-minlength='5' id='name' name='name' placeholder='John Doe' required type='text'>
              <label for='email'>email:</label>
              <input id='email' name='email' placeholder='johndoe@me.com' required type='email'>
              <input name='Submit' type='submit'>
            </fieldset>
          </form>

javascript:

$('#newsletter_signup').parsley();

You are getting two errors of

You must bind Parsley on an existing element.

but those errors are not related to the code you posted.

In your ...js/site.js you have the following code:

$(document).ready(function() {
    $('.slider').flexslider({controlNav: false,slideshowSpeed: 3000,directionNav: true});
    $('input').iCheck({checkboxClass: 'icheckbox_square-yellow',radioClass: 'iradio_square-yellow',increaseArea: '20%'});
    $('#newsletter_signup').parsley();
    $('#request_a_quote').parsley();
    $('#contact').parsley();
    var form = $('#newsletter_signup');
    (...)

You are binding parsley to three elements with the following ids: newsletter_signup , request_a_quote and contact .

The thing is, in the current page you only have the element newsletter_signup . If you do a console.log($('#request_a_quote')) you will see an empty object.

So, to fix your issue, you need to remove the code that binds parsley to non-existent elements. Or you could change your code in order to bind parsley only if the element exist. Something like this:

$(document).ready(function() {
    $('.slider').flexslider({controlNav: false,slideshowSpeed: 3000,directionNav: true});
    $('input').iCheck({checkboxClass: 'icheckbox_square-yellow',radioClass: 'iradio_square-yellow',increaseArea: '20%'});
    if ($('#newsletter_signup').length > 0 )
        $('#newsletter_signup').parsley();
    if ($('#request_a_quote').length > 0 )
        $('#request_a_quote').parsley();
    if ($('#contact').length > 0 )
        $('#contact').parsley();
    var form = $('#newsletter_signup');
    (...)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM