Здравствуйте.
Делаю форму с несколькими textfield, значения некоторых суммируются с значениями других textfield, суммирую через #ajax. Все нормально и удобно кроме косяка с ошибкой ajax запроса, который возникает если после изменения textfield сразу кликнуть на submit, выскакивает alert - "HTTP запрос AJAX завершен неправильно"
Каким образом можно избавиться от этой проблемы?
Обновлено 20.08.2013 РЕШЕНИЕ
Добавил js файл со следующим содержимым
jQuery("form")
.ajaxStart(function (e) {
jQuery(e.target).find("input[type='submit']").attr("disabled", "disabled");
})
.ajaxComplete(function(e){
jQuery(e.target).find("input[type='submit']").removeAttr("disabled");
});
});
Комментарии
Надо js приписывать в котором .ajax свой прописать, отслеживать click, устанавливать disabled на .form-sumbit, а когда ajax ответ получил ( .done или .fail ) убирать с .form-sumbit аттрибут disabled
5 копеек никогда не бывают лишними.
не, тут немного другое, ошибка возникает потому что срабатывает ajax запрос при событии change текстового поля, которое возникает во время клика на submit. Но submit отправляет форму потому и запрос вылетает с ошибкой. Если например кликнуть не на submit формы а на другой элемент или просто на пустое место то ошибки нет, так как запрос корректно уходит и приходит ответ.
спасибо помозгую
в API в Ajax есть свойство prevent которое вроде как для таких случаев, но как то я не особо понял как им пользоваться.