У меня есть простая форма AJAX POST, настроенная в приложении jQTouch. Мы говорим из коробки просто:
<form id="contact" class="topPage" method="post" action="/process/mobile-submit.cfm">
<!-- Various form guts go here -->
</form>
И это прекрасно работает. Мои пользователи вводят свои данные, мой серверный скрипт выполняет свою работу, поглощает данные о потенциальных клиентах и выдает простой готовый ответ.
<div>
<div class="toolbar">
<a href="#contact" class="slide back">Back</a>
</div>
<div class="info">
<strong>Thank You For Your Submission</strong><br />
We have received your inquiry, and blah blah blah jibber jabber.
</div>
</div>
Все счастливы ... кроме тех из нас, кто пытается отслеживать конверсию в Google Analytics. Теперь у меня есть виртуальные просмотры страниц, настроенные на каждой панели в этом приложении с использованием события pageAnimationEnd, которое очень просто, если вы знаете, к каким селекторам они будут присоединены заранее, но когда jQTouch создает новый сегмент из возврат формы, он имеет общий сериализованный идентификатор, например # page- N .
Я попытался добавить свободный блок скрипта в форму возврата. Это отлично работает для Firefox на моем рабочем столе, но не так много для Safari на моем телефоне.
Поскольку я позволил jQTouch обрабатывать детали AJAX для меня в этом случае, есть ли простой способ присоединить к нему обработчик успеха? Или мне лучше привязать обработчик pageAnimationEnd к $('[id^=page-]')
и надеяться, что компания не захочет, чтобы я делал что-то еще со специальными возвратами формы, пока мы не заменим это приложение тем, которое написано в jQuery Mobile?