Ваш ajax
работает при загрузке страницы, потому что его ничто не останавливает.Вам нужно поместить код ajax
в обработчик событий, чтобы он вызывался только в том случае, если / когда ваша форма прошла проверку.
Ниже приведен пример правильной реализации подключаемого модуля проверки.И вам не нужно помещать validate()
в обработчик кликов.Плагин Validation имеет несколько встроенных обработчиков, включая submitHandler
, который запускается, когда форма проходит проверку.
<script type='text/javascript'>
$(document).ready(function() {
jQuery.validator.addMethod("math",
function(value, element, params) { return this.optional(element) || value == params[0] + params[1]; },
jQuery.format("Please enter the correct value for {0} + {1}")
);
$('form').validate({
rules {
// your rules
},
submitHandler: function(form) {
$.ajax({
// your ajax parameters
});
return false;
}
});
});
</script>
Документация плагина Validation
Некоторыепобочные проблемы ...
Ваш код будет намного легче читать и устранять неполадки, если вы используете правильные отступы и стандартное форматирование.
Естьне нужно использовать дубликаты document.ready
функций.Все может быть внутри одного.
Как и в # 2, вам не нужны отдельные наборы тегов <script></script>
для хранения вашего кода.Все может быть заключено один раз.