クリックするとjQueryでフォームを非表示にするボタンのあるページがあります。
<a id="customise" class="configure-demo" href="#">Configure new system & get quote</a>
これを非表示にするjQueryを使用すると、次のようになります。
<script type="text/javascript">
jQuery(document).ready(function( $ ) {
$("#customise").click(function(){
$(".entire_product").hide();
$(".customise").show();
});
});
</script>
これにより、最初にページに表示されていたものが非表示になり、非表示のステップバイステップフォームが表示されます。いくつかのステップがありますが、次がクリックされるたびにページがリロードされ、次のステップが表示されます
<div class="customise" style="display:none;">
<form class="form" method="POST" action="<?php the_permalink(); ?>">
<? if (!$_POST['step']) { ?>
<input type="hidden" name="step" value="1" />
Step 1 info.
<? } else if ($_POST['step'] == 1) {
foreach($_POST as $name => $value) {
if ($name <> "step") { echo "<input type=\"hidden\" name=\"$name\" value=\"$value\" />"; $field .= $name."=".$value."&";}
} ?>
<input type="hidden" name="step" value="2" />
Step 2 info
<? } else if ($_POST['step'] == 2) { //do stuff
echo "Do stuff here";
} ?>
</form>
</div>
問題は、フォームをクリックすると(必要に応じて)ページが再読み込みされますが、質問の上部にあるボタンがクリックされるまでフォームが再び非表示になり、次のステップが表示されることです。
リロード時に非表示のフォームを表示しながら、フォームのステップ2を表示するにはどうすればよいですか?
明らかに、ユーザーがフォームプロセスに参加していない場合は、フォームを非表示にしておく必要があります。