2014-09-12 6 views
1

Вот как кнопка назад:Назад Кнопка с сохранением формы значения

<button onclick="history.go(-1);">Back </button> 

(эта кнопка называется вне формы, в противном случае она не работает, я не знаю, почему ...)

Ситуация

у меня есть 4 страницы, как это:

Page 1 : Form for information level 1 
Page 2 : Form for information level 2 
Page 3 : Summary of the 2 precedent Form 
Page 4 : Form post succes page 

Я поставил кнопку НАЗАД на стр. 2 и 3. Для страницы 2 она отлично работает. Когда я нажимаю, я возвращаю все свое предыдущее значение.

Моя проблема

Он поставляется с кнопки задней части страницы 3. Все мои формы значения ушли ...

Soo, я знаю, что могу это сделать, включив кнопку НАЗАД в форме, а затем POST снова все мое значение на предыдущей странице, но мне было интересно, не существует ли «простой и быстрый» способ сделать это?

Спасибо.

+2

использовать сессию и сделать обновление страницы на спине и показаны значения входных назад от сессии –

+0

Вы можете хранить значения в сеансе. Таким образом, данные не теряются. – SuperDJ

+0

То есть, после каждого POST я сохраняю $ _POST -> $ _SESSION. Затем, когда я показываю форму, я делаю что-то вроде «if (isset ($ _ SESSION))», иначе это ничего не значит? Если это так, то это не так, как повторная отправка $ _POST на предыдущую страницу ...? –

ответ

1

1) Для кнопки не отправить форму, вы должны указать его тип: <button type="button"></button>

2) Ваша проблема может быть решена несколькими способами:

а) Сохранить все значения щелкать Next к сессии и при возврате на страницу просто сохраните все значения.
Ваши входы, чем будет выглядеть примерно
<input type='text' value='<?php echo isset($_SESSION['a1']) ? $_SESSION['a1'] : ''; ?>' name='a1'/>;
На стороне PHP: $_SESSION['a1'] = isset($_POST['a1']) ? $_POST['a1'] : '';.
На последнем этапе подтверждения вы сохраняете значения из последней формы + значения из сеанса в базу данных и очищаете сеанс.

б) Вы можете использовать одну форму с вкладками в нем и только показать конкретную вкладку с JQuery/JS:

<div class='tab' data-ref='#tab1'>First step tab</div> 
<div class='tabContent' id='tab1'>Content of first step tab</div> 

$('.tab').click(function(){ 
    $('.tabContent').hide(); 
    $($(this).data('ref')).show(); 
}); 

И только сохранить все данные на последнем шаге.
лично я бы b Variant,

+0

Спасибо, что нашли время и объяснили мне, и я пошел на вариант B, но только с php: D –