Проверка Ajax не работает

#javascript #php #jquery #ajax #twitter-bootstrap

#javascript #php #jquery #ajax #twitter-bootstrap

Вопрос:

когда я отправляю его, он напрямую переходит на целевую страницу в действии формы. проверка не выполняется.

Моя форма

 <form id="RegisterForm" method="post" action="register.php">
..
..
<input type="submit" value="Register Now" class="button">
</form>
  

Мой код Ajax validation.js

 $(document).ready(function () {
    $('#RegisterForm').validate({
        rules: {
            name: "required",
            surname: "required",
            address: "required",
            nic: "required",
            email: {
                required: true,
                email: true
                },
                phone: "required",
                gfname: "required",
                gsurname: "required",
                gaddress: "required",
                gphone: "required"
                },
              messages: {
              name: "Please enter your name",
              surname: "Please enter Your Surname",
              address: "Please enter Address",
              nic: "Please enter ID card Number",
              email: "Please enter a valid email address"
        },
            // if success
        submitHandler: function (form) {
            $.post("register.php",$(form).serialize());
           $('#RegisterForm').fadeOut("slow");

        }   
    });

            return false;
});
  

Импортированные файлы

 <script src="js/bootstrap.min.js"></script>
<script src="js/jquery.validate.min.js"></script>
<script src="js/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
  

Я новичок в bootstrap и ajax. поэтому в ваших ответах, пожалуйста, укажите, какие файлы я должен импортировать, чтобы запустить проверку ajax.

Комментарии:

1. Вы должны поставить <script src=»js/jquery-2.0.3.min.js»></script> above all js

2. Переместите файл jquery в начало> <script src="js/jquery-2.0.3.min.js"></script>

3. да, но он находится на 3-м номере, поэтому он должен быть на 1-м

4. Я сделал. ничего не меняется. это направляет меня к моему php: (

5. удалить один <script src=»js/bootstrap.min.js»></script> It is called twice

Ответ №1:

Вы могли бы попробовать организовать теги вашего скрипта следующим образом:

     <script type="text/javascript" src="js/jquery-2.0.3.min.js"></script>
    <script type="text/javascript" src="js/jquery.validate.min.js"></script>
    <script type="text/javascript" src="js/bootstrap.min.js"></script>
  

Однако, если это не сработает, не могли бы вы убедиться, что все ваши идентификаторы соответствуют тем, которые указаны в разделах правил. Также вы проверили свою консоль на наличие ошибок, чтобы убедиться, что javascript ничего не выдает?

Ответ №2:

Вам нужно максимально упростить свой пример, чтобы найти проблему.

Приведенный ниже пример работает нормально:

 <html>
<head>
    <meta charset="utf-8">
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.12.0/jquery.validate.min.js"></script>
    <script type="application/javascript">
        $(function () {
            $('#RegisterForm').validate({
                rules: {
                    name: "required"
                },
                messages: {
                    name: "Please enter your name"
                },
                // if success
                submitHandler: function (form) {
                    $.post("index.php", $(form).serialize());
                    $('#RegisterForm').fadeOut("slow");

                }
            });
        });
    </script>

</head>
<body>
<form id="RegisterForm" method="post" action="">
    <input type="text" name="name">
    <input type="submit" value="Register Now" class="button" name="zzz">
</form>
</body>
</html>