微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQTouch AJAX表单回调

如何解决jQTouch AJAX表单回调

| 我在jQTouch应用程序中设置了一个简单的AJAX POST表单。我们在这里开箱即用地讲简单:
<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从表单返回时,它具有通用的序列化ID,例如#page-N。 我尝试将一个宽松的脚本块添加到表单返回中。对于我的桌面上的Firefox而言,这很好用,而对于我手机上的Safari而言,效果却不那么理想。 由于在这种情况下允许jQTouch替我处理AJAX细节,是否有直接方法将成功处理程序附加到它上?还是我最好尝试在
$(\'[id^=page-]\')
上绑定pageAnimationEnd处理程序,并希望企业不希望我使用即席表单返回做其他任何事情,直到我们用jQuery Mobile编写的这个应用程序替换了该应用程序?     

解决方法

        解决了。 返回片段可以自然地声明自己的ID,然后jQTouch会将其视为文档的原始部分。我以前曾假设jQTouch不会给我赋予片段什么属性的折腾。我错了。 这意味着您可以像文档的其他任何部分一样去处理它。这也意味着您可以按ID或按类名在返回片段上绑定pageAnimationEnd处理程序,并且其行为将与预期的一样。从而:
<div class=\"formResult\">
<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>
和:
$(\'.formReturn\').live(\'pageAnimationEnd\',function(evt,info) {
    if (info.direction == \'in\') {
        // Goal completion code
    } else {
        $(this).remove();
    }
});
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。