jqtouch вернуться после отправки формы

#forms #jqtouch #back

#формы #jqtouch #Назад

Вопрос:

Я использую jQTouch для создания страницы, на которой пользователь может ввести своего рода идентификатор и получить информацию (результат экзамена) для этого идентификатора. Поскольку я беру результаты с сервера, я использовал форму на первой странице с текстовым полем и кнопкой отправки, и действие этой формы отправляет пользователя на следующую страницу. Или, по крайней мере, предполагается…

Проблема в том, что также меня переводят на страницу с результатами, и я вижу результаты должным образом, кнопка «Назад» ничего не делает! Кстати, в адресной строке (выше) Я все еще вижу название первой страницы.

Как я могу вернуться на страницу «форма»? Спасибо

 <div class="current" id="byUserId">
<div class="toolbar">
<a class="back" id="goBack" > Back</a>
<h1> Exam Results</h1>
</div> ...
  

где id=»GoBack» имеет javascript:

 $(function() {
    $('#goBack').click(function() {
        location.href = "enterId.jsp";
    });
});
  

Использование обычного возврата также не работает:

 <a class="back" href="#"> Back</a>
  

Ответ №1:

Я сейчас довольно поздно, но у меня были похожие разочарования, и я, наконец, понял это. Проблема в том, что jQTouch перехватывает все команды отправки AJAX и form и безопасно отправляет их сам. Это не проблема, за исключением случаев, когда ожидается какой-либо обратный вызов, а его нет. В моем случае я хотел отправить форму без обратного вызова. Для этого загляните в jqtouch.js библиотеку (около строки 434) и закомментируйте следующую строку:

 if (href != '#') {
   $.ajax({
      url: href,
      data: settings.data,
      type: settings.method,
      success: function (data) {
          **// var firstPage = insertPages(data, settings.animation);**
  

Это в основном просто говорит jQTouch отправить вызов AJAX, но после этого ничего не делать (не изменять div, не показывать никаких обратных вызовов и не делать никаких анимаций). Надеюсь, это поможет.