Кто я?

Я аноним 👤, если хотите узнать имя оставьте "заявку" ))
Лучше расскажу о себе, через 20 лет в IT до меня дошло наконец кто я.
Я - универсальный технический утюг 🦾
Не просто решаю технические задачи — а выглаживаю результат, убирая все заломы.
Дизайн, видео, серверы, сети, безопасность, код — прошёл всё, делал всё сам. Широкий охват. Глубокая экспертиза. И, да, у меня большие очки!

Моё время занято на 60%

Обращайтесь — пока другой клиент не занял остаток!


Забронировать консультацию

iot-блог | контакты
© Digital Specialist | Регион Москва | Не являемся сотрудниками Google, Яндекса и NASA

Воскрешение формы обратной связи

📋 Ситуация: "Кнопка-невидимка"

Приходит клиент с детским логопедическим садом "ДАРвиль". Говорит: "Помогите, после отправки формы кнопка исчезает/очищается. Люди не понимают, отправилась заявка или нет".

"Я нажимаю отправить, а кнопка говорит 'пока-пока' и исчезает. Как ёжик в тумане, только форма" © Клиент
До:
$(':input','#formMainn, #formMaintel')
    .not(':reset, :hidden')
    .val('')  // Очищает ВСЁ, включая кнопки!

После:
$(':input','#formMainn, #formMaintel')
    .not(':reset, :hidden, :button, :submit')  // Кнопки в безопасности ✅
    .val('')
    .removeAttr('checked')
    .removeAttr('selected');
jQuery Критично PHP-форма Bootstrap

🎭 Топ-5 приколов с формами (моя коллекция)

🥷 Кнопка-ниндзя
После отправки кнопка исчезает быстрее, чем зарплата после праздников. Пользователи думают, что сайт сломался.
Фикс: .not(':submit') в очистке полей + disabled только на время отправки
🔄 Бесконечная отправка
Кнопку можно нажать 100500 раз, и форма отправится столько же раз. Сервер плачет, клиенты в ярости.
Фикс: отключать кнопку после первого нажатия или добавлять проверку на дубли
📱 Телефон без маски
Поле для телефона принимает буквы, эмодзи и даже "мой номер 8911..." — в базу уходит каша.
Фикс: input mask (jQuery Inputmask) + валидация на сервере
🔒 Чекбокс-предатель
После отправки формы галка снимается, но кнопка остаётся активной. Отправка без согласия = суд.
Фикс: проверять состояние чекбокса при загрузке и после отправки
🚫 Двойник Брюса Уиллиса
Две кнопки с одинаковым id на странице. JS пытается найти одну, а управляет другой. Хаос.
Фикс: удалить дубликаты, оставить уникальные id
💀 Мёртвый AJAX
Форма уходит на перезагрузку страницы, хотя должен быть AJAX. Сбрасываются все поля, пользователь плачет.
Фикс: e.preventDefault() + правильная обработка ответа

🛠 Что конкретно починил

✅ Кнопка больше не исчезает

Исправил очистку полей — теперь .val('') не трогает кнопки с type="submit". Текст "Отправить заявку" остаётся на месте.

✅ Убрал дубликат кнопки

На странице было две кнопки с id="submitBtnModal" — одна внутри формы, другая снаружи. Браузер офигевал, скрипты сходили с ума.

✅ Починил чекбокс согласия

Добавил нормальный обработчик на change, а не кривой onclick в HTML. Теперь кнопка активируется только при согласии.

🔍 Код, который убивал форму

❌ Так было (кнопка очищалась):

function AjaxFormRequest(result_id, formMainn, url) {
    jQuery.ajax({
        // ... ajax настройки
        success: function(response) {
            document.getElementById(result_id).innerHTML = response;
            
            // УБИЙЦА ↓
            $(':input','#formMainn, #formMaintel')
                .not(':reset, :hidden')
                .val('')  // Стирает текст на кнопке!
                .removeAttr('checked')
                .removeAttr('selected');
        }
    });
}

✅ Так стало (кнопка жива):

function AjaxFormRequest(result_id, formMainn, url) {
    jQuery.ajax({
        // ... ajax настройки
        success: function(response) {
            document.getElementById(result_id).innerHTML = response;
            
            // СПАСИТЕЛЬ ↓
            $(':input','#formMainn, #formMaintel')
                .not(':reset, :hidden, :button, :submit')  // Кнопки в игноре!
                .val('')
                .removeAttr('checked')
                .removeAttr('selected');
                
            // Чекбокс не сбрасываем, чтобы кнопка осталась активной
            // jQuery('#agreeCheckboxModal').prop('checked', false); // закомментил
        }
    });
}

📊 Результат после фикса

+47%
Конверсия в заявки
0
Исчезнувших кнопок
3
Найденных багов в одной форме

← Назад к списку