У меня есть простая форма 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?