欧芹表格验证错误

时间:2014-09-14 18:55:05

标签: javascript jquery parsley.js

好,

我仍然是一名javascript学生,所以我需要一些帮助。我正在使用parsley.js进行表单验证,然后使用jquery ajax来提交表单。我一直在控制台中收到这条温暖的消息,将欧芹绑定到现有元素。我已按照所有说明进行操作,但仍继续收到警告。

如何摆脱警告?

代码可以在这里看到:http://madmen6raphics.com/clients/marble/

提前感谢。

以下是代码:

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')香菜();

1 个答案:

答案 0 :(得分:7)

你得到两个错误

  

您必须在现有元素上绑定Parsley。

但这些错误与您发布的代码无关。

...js/site.js中,您有以下代码:

$(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');
    (...)

您使用以下ID将欧芹绑定到三个元素:newsletter_signuprequest_a_quotecontact

问题是,在当前页面中,您只有元素newsletter_signup。如果您执行console.log($('#request_a_quote')),您将看到一个空对象。

因此,要解决您的问题,您需要删除将parsley绑定到不存在的元素的代码。或者,您可以更改代码,以便仅在元素存在时绑定欧芹。像这样:

$(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');
    (...)