JQM (jQueryMobile) Доступ к истории URL? - PullRequest
2 голосов
/ 24 марта 2011

У меня возникла проблема с возможностью ссылки на домашнюю страницу из ответа AJAX из представления многостраничной формы макета

Структура

index.php имеет многостраничныйсоглашение (index.php#agreement)

#agreemen t имеет форму, которая использует вызов AJAX по умолчанию для отправки в (agreement.php)

Из соглашения.php я могу вернуться кпоследняя страница (#agreement), которая ожидается, но теперь я хотел вернуться на страницу index.php.

Я легко могу поставить href="index.php", но тогда сессия потеряет значения.

Есть ли способ вернуться на два шага назад?или получить доступ к истории URL и указать конкретную страницу, не теряя при этом никаких данных в формах?

Я связал agreement.php, используя этот код в index.php

$('#agreement_status').live('pageshow',function(event, ui){
    // Button action
    $('#back_home').click(function(){
        window.history.back(); // this goes back one page to index.php#agreement
        window.history.back(-2); // this goes back one page to index.php#agreement
        $.mobile.changePage("#index", "slideup"); // this works but appends the hashtag in the URL which breaks the other functionality 
    });
});

В agreement.php У меня есть этот код

<a id="back_home" 
   data-role="button" 
   data-icon="home" 
   data-theme="z" 
   data-inline="true" 
   style="float:right;">
    Home
</a>

Ответы [ 2 ]

1 голос
/ 01 апреля 2011

Ну, это не совсем ответ на мой вопрос, но он решил мою проблему:

code.php код кнопки возврата, используйте опцию data-rel = "back" в теге привязки и добавьте тег div с именем / идентификатором

<a data-rel="back" 
   data-role="button" 
   data-icon="home" 
   data-theme="z" 
   data-inline="true" 
   style="float:right;">
    Home
</a>

На странице index.php добавьте это в свой java-скрипт

$('#agreement_status').live('pagehide',function(event, ui){
    window.history.back();
});

Что происходит, когда скрывается страница, когда страница соглашения_статуса скрыта, так что вы попадете на страницу # соглашение. Затем с помощью window.history.back (); мы можем вернуться на страницу index.php и по-прежнему хранить все данные в архиве без необходимости обновления страницы

0 голосов
/ 30 марта 2011

попробуйте

        window.location.href = "/index.php";
...