Проверка формы jQuery не работает, неожиданный конец ввода

0

Я создаю простую гостевую книгу, задание, в котором нам специально предлагается использовать jQuery для проверки пустых полей. Я много часов искал в Интернете, чтобы попытаться выяснить, почему моя проверка не работает, но я не сталкивался с каким-либо рабочим решением.

Однако, когда я использую приложение для отладки Chrome, я получаю:

Uncaught SyntaxError: Unexpected end of input - и красная точка отображается в окне консоли прямо перед моей декларацией doctype.

Может ли это иметь какое-либо отношение к валидации, не работающей? Ниже приведены соответствующие фрагменты кода.

Форма:

<form id="aForm" method="post" action="">

        <ol>
            <li>
                <label for="name">Name:</label> 
                <input type="text" name="name" placeholder="Type your name...">

            </li>
            <li>
                <label for="comment"></label>
                    <br>Message: <br><textarea maxlength="100" name="comment"
                    placeholder="Share a thought..." rows=6 cols=33></textarea>

            </li>
            <li>
                <input type="submit" name="submit" value="Submit your message!">
            </li>
        </ol>

    </form>

С проверкой в конце документа (сценарии исходят из доверенного плагина):

<script src="js/jquery.js"></script>
<script src="js/validation.js"></script>

<script>
   $(document).ready(function() {
    $.validator.setDefaults({
        submitHandler: function() { alert("Submitted!"); }
    });

    $("#aForm").validate({
        rules: {
             name: { required: true },
             comment: { required: true }
        },
        messages: {
             name: "Please enter your name",
             email: "Please enter a comment"
        }

});

</script>
  • 0
    Что это за «электронная почта» в блоке сообщений? опечатка?
Теги:
validation

4 ответа

1
Лучший ответ

вы не закрываете $("#aForm").validate( открытый в $("#aForm").validate(

Код должен быть:

<script>
   $(document).ready(function() {
    $.validator.setDefaults({
        submitHandler: function() { alert("Submitted!"); }
    });

    $("#aForm").validate({
        rules: {
             name: { required: true },
             comment: { required: true }
        },
        messages: {
             name: "Please enter your name",
             email: "Please enter a comment"
        }); //<= added


});

</script>
  • 0
    Brilliant. Спасибо!
0

Вам не хватает окончательного закрытия }); Пытаться:

<script>
   $(document).ready(function() {
    $.validator.setDefaults({
        submitHandler: function() { alert("Submitted!"); }
    });

    $("#aForm").validate({
        rules: {
             name: { required: true },
             comment: { required: true }
        },
        messages: {
             name: "Please enter your name",
             email: "Please enter a comment"
        }

    });
 });

</script>
0

Проверь это:

<script>
   $(document).ready(function() {
      $.validator.setDefaults({
          submitHandler: function() { alert("Submitted!"); }
      });

      $("#aForm").validate({
         rules: {
             name: { required: true },
             comment: { required: true }
          },
          messages: {
              name: "Please enter your name",
              comment: "Please enter a comment" // email in original code
          }
     }); // missing in original code
});

0

Я не знаю, если это проблема, но попробуйте изменить это

email: "Please enter a comment"

к этому

comment: "Please enter a comment"

потому что нет текстового поля электронной почты или ввода.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню