jQuery Mobile - Отправить форму, перенаправить на идентификатор страницы? - PullRequest
2 голосов
/ 20 сентября 2011

Я настраиваю экран входа в систему в jQuery Mobile.

После отправки.Я хочу, чтобы он нажал на auth.php, который вернет какой-то ключ сеанса, а затем загрузит страницу #two в моем индексном файле.

Итак, мой главный вопрос: Какя могу нажать auth.php, а также загрузить страницу # два в моем индексе.

<!--index.php-->
<form action="auth.php" method="post">
  <div class="ui-body ui-body-b">
    <input type="text" name="name" id="name" value="" class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" placeholder="Username">
    <input type="password" name="name" id="name" value="" class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" placeholder="Password"> 
    <fieldset class="ui-grid-a"> 
      <div class="ui-block-a"><button type="reset" data-theme="d">Reset</button></div> 
      <div class="ui-block-b"><button type="submit" data-theme="a">Login</button></div> 
    </fieldset> 
  </div>
</form>

Затем мне нужно загрузить страницу #two в моем файле индекса.У меня есть несколько страниц в моем индексе ... это лучший способ справиться с этим?

<!-- Start of second page: #two in index.php--> 
<div data-role="page" id="two" data-theme="a"> 

Ответы [ 2 ]

2 голосов
/ 20 сентября 2011

Вам следует изменить дизайн так, чтобы auth.php перенаправлял на представление, которое возвращает правильный сайт. JQM с этим справится очень хорошо.

Сказав, что я могу помочь вам сделать это по-вашему, несмотря на то, что мне не нравится идея:)

Вам необходимо отправить форму самостоятельно с помощью $.post() и после того, как auth.php вернет подтверждение - сохраните токен или просто оставьте его для механизма сеанса по умолчанию на основе файлов cookie, а затем перенаправьте с помощью $.mobile.changePage()

1 голос
/ 20 сентября 2011

jQuery mobile предназначена для того, чтобы всегда держать пользователя на одной странице, так что это идет вразрез с дизайном. У вас есть несколько вариантов сделать это правильно: Вариант 1. Загрузите auth.php в невидимый iframe, когда это будет сделано, перенаправьте страницу в complete.php. На вашей странице указателя вы хотели бы отобразить счетчик и настроить таймер, который проверяет источник iframe, а когда он меняется, переключитесь на #two. Вариант 2. Аналогично варианту 1, вы должны выполнить ajax-запрос к auth.php с информацией о форме и дождаться его завершения. Когда запрос возвращается, вы можете переключиться на # 2.

Если вы действительно хотите перенаправить в auth.php и вернуться к индексу с помощью #two, вам понадобится параметр, который добавляется во время перенаправления. Например, auth.php будет перенаправлять на index.php? Start = two, а затем в вашем PHP или Javascript вы можете сделать #two стартовой страницей по умолчанию (например, проверьте для $ _GET ['start'] == 'two') .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...