Google Analytics

четверг, 5 апреля 2012 г.

При изменении поведения формы одного из скриптов CMS Prestashop столкнулся с интересной задачей. Надо было подменить обработчик события onclick на свой, который бы отсылал в обработчик на php данные из полей формы в виде, который ожидает получить php-скрипт. Стандартный скрипт не работает корректно из-за изменений в структуре формы.

Навесил я новый обработчик по стандартным кодом(что-то вроде этого):

$("input[type='submit']").click(function(){alert("OOPS!");return false;});

И получил epic fail в виде срабатывания сразу двух обработчиков на одно несчастное событие. Сразу стало ясно, что надо убрать старый обработчик события. И навесить новый.

$("input[type='submit']").unbind('click');

Отсоединяем функции-обработчики от события click, и затем лёгким движением руки одной строчкой кода добавляем свой обработчик.

$("input[type='submit']").click(function(){alert("OOPS!");return false;});