зацикленность отправки. исправить
помогите пожалуйста решить проблему
для валидации формы я использую jquery + jqueryvalidate + additianal-methods. форма валидируется и даже отправляется. проблема в том, что перед отправкой метод submitHandler выполняется примерно 600 раз что иногда приводит к отмене отправки в браузерах типа IE в целях отладки я поставил console.log() в submitHandler: submitHandler: function(){ console.log('submitHandler!'); $( "#brief_form_new_test" ).submit(); } вот jsfiddle хотелось бы чтобы submitHandler выполнялся только один раз как и положено validation: $.validator.setDefaults({ invalidHandler: function(){ var fileInput = document.getElementById("fileUploadField"); if($('#brief_form_new_test .file-add input.error').length >= 1){ $('.file-add').css({ 'background': 'url("../img/attache.png") 0 -88px' }); }else{ $('.file-add').css({ 'background': 'url("../img/attache.png") 0 0' }); }; //console.log("not submitted!"); }, submitHandler: function(){ console.log('submitHandler!'); $( "#brief_form_new_test" ).submit(); } }); $.validator.addMethod("checkFileSize",function(value, element) { // check filesize var fileInput = document.getElementById("fileUploadField"), fileSize; if(fileInput.files[0]){ if(fileInput.files[0].size > 134217728){ return false; }else{ return true; } }else{ $('.file-add label.error').empty(); return true } }, "Размер файла превышен"); $().ready(function(){ $("#brief_form_new_test").validate({ rules: { attachment: { required: false, checkFileSize: true, extension: "doc,docx,txt,pdf,jpg,jpeg,png" }, message_new: { required: true, minlength: 10 }, name_new: "required", email_new: { required: true, email: true }, phone_new: { "required": true, "pattern": /[-0-9 -()+]+$/ } }, messages: { attachment: { required: 'File required', checkFileSize: 'Размер файла превышен', extension: "Неверный формат файла", }, message_new: { required: "Коротко опишите проект", minlength: "Введите не менее 10 символов" }, name_new: "Введите ФИО", email_new: "Введите корректный адрес", phone_new: { required: "Введите телефон", pattern: "Введите корректный телефон" } } }); }); |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 20:14. |