Замена задачи с сохранением конечного результата


В скайп обратился заказчик с задачей. Сама по себе не особо сложная, можно сказать, стандартная, но подход при решении мне показался заслуживающим внимания; его можно использовать и при других проблемах самого разного характера.

Задача:

Есть лэндинг, на котором имеется 2 кнопки, при нажатии на которые всплывает окно с формой отправки заявки – чтобы менеджер перезвонил. Необходимо скопировать их и добавить еще две такие кнопки с аналогичными всплывающими формами.
На первый взгляд задача вообще не заслуживает упоминания: скопировал, вставил в нужное место и все. Однако, все усложняется тем, что лэндинг делался в Adobe Muse CC, а также тем, что в нем уже пытался сделать работу предыдущий исполнитель и не замел свои следы. То есть, помимо множества кода, который генерирует Муся, еще придется разбираться в том, что здесь лишнее от предыдущего программиста.

Беглый обзор показал, что в действительности все еще хуже: масса кода с непонятными проверками, идентификаторами и ключами. Пришла мысль, что проще сделать все по новому, чем ковыряться в этом нагромождении. А в самом деле, почему бы и нет?

Что нам требуется в конечном итоге? Чтобы пользователь смог отправить свои данные на электронную почту во всплывающей форме. А как именно это будет реализовано пользователю же совершенно безразлично. Таким образом, решение упрощается: на кнопки вешаем обработчик, в нем выводим всплывающее окно с формой, а затем при помощи ajax-а и POST-запроса подгружаем php-файл (в котором производится отправка письма) и реализуем отправку без перезагрузки страницы. А внешне вообще ничего не меняется.

Сказано – сделано. Интересно, что предыдущий разработчик, видимо, пошел аналогичным путем, но что-то у него не срослось – так как он сделал вывод формы, но не смог реализовать отправку письма. Я не стал разбираться и просто заменил его код на свой, многократно проверенный (все же задача очень распространенная). Все заработало.

Таким образом, иногда можно несколько переделать условие задачи: посмотреть, а что необходимо получить в конечном итоге. То есть фактически мы заменили стоящую перед нами задачу, но результат для более общей проблемы оказался аналогичным.



Кстати, вы всегда можете обратиться ко мне за помощью по лендингам и другим сайтам. Пишите на почту up777up@yandex.ru
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегиличное, решение задач, Adobe Muse CC, программирование, javascript




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.



OpenCart: вставляем php код на страницы
Lazy loading, или появление изображений при скроллинге для ускорения сайта
Рецензия на Лес повешенных лисиц от Арто Паасилинна