Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Отправка формы после ajax проверки (https://javascript.ru/forum/misc/62160-otpravka-formy-posle-ajax-proverki.html)

laimas 06.04.2016 13:37

Цитата:

Сообщение от ShutTap
поля формы обрабатываются еще скриптом сайта на 1.8.3, и при подключении 1.9.0 частично перестает работать.

Две библиотеки, это нельзя. Метод .on() появился в библиотеке с версии 1.7, и поддерживается и 1.8.3, и 1.9.0. А есть еще и метод .one(). Так что если об этом методе речь, то ищите свои баги, а если нечто иное, то нужны пояснения, ошибки...

ShutTap 06.04.2016 16:34

метод .on()
просто непонятно, почему с 1.9.0 работает, а с 1.8.3 нет...

laimas 06.04.2016 17:34

Проверяем утверждение:

1.8.3
<html> 
<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script> 
$(function() {
    $('button').on('click', function() {
        alert(1)
    })
});
</script>     
</head> 
<body>
<button>Show</button>
</body> 
</html>


1.9.0
<html> 
<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script> 
$(function() {
    $('button').on('click', function() {
        alert(1)
    })
});
</script>     
</head> 
<body>
<button>Show</button>
</body> 
</html>


Есть разница?

ShutTap 07.04.2016 01:11

нашел из-за чего было, в родных скриптах форма тоже обрабатывалась, частично исправил, но возникла такая ошибка (вернулся в самое начало, можно сказать), что форма при первом клике шлет ajax, и только по второму обрабатывается сама. так и не понял, что конфликтует.
при этом в ajax на успешном ответе код .off() работает, а вот .submit() и далее уже нет, хотя alert объекта формы выводит object, то есть форма есть...
не подскажите, в чем может быть дело, почему может submit() не работать? Какие могут быть еще конфликты, или хотя бы куда копать?
(инспектор в ff на форме показывает только один, мой обработчик)

laimas 07.04.2016 11:43

Цитата:

Сообщение от ShutTap
не подскажите, в чем может быть дело, почему может submit() не работать?

Подскажу - алгоритм ошибочный. Есть блок-схемы алгоритмов, знакомо? Берем листочек в клеточку и рисуем свой алгоритм:

1. Ставим обработчик на отправку формы.
2. Проверяем форму - если ОК, то отправляем, и если отправление успешное, то удаляем обработчик. Если проверка формы неудачная, то возврат.

Разберетесь с карандашиком на листочке, значит и реальный код будет гарантировано работать.

ShutTap 08.04.2016 11:46

алгоритм рабочий, на чистом примере работает. конфликт с чем-то на сайте, а с чем - не могу определить. потому и спрашивал, куда смотреть
UPD нашел, еще один конфликт, плагин стилизации формы form-styler...
UPD плагин мудреный, была проверка изменения формы по ajax (если подгружается другая вкладка в форму - у нее тоже стили правил), там конфликт и был, похоже. оформил просто отправку формы не на нее саму, а на кнопку type=submit


Часовой пояс GMT +3, время: 02:21.