次のコードは (document).ready 関数に配置され、注文フォームを正しく表示するように機能します。
<?php if (isset($_POST['preview-order'])) { //IF PREVIEW FORM ?>
$("#cam-order-preview").show('slow');
<?php } else { //ELSE ORDER FORM ?>
if (lastAreaVisible != "") {
$("#<?php echo $_SESSION['last_area_visible'];?>").css("visibility", "visible");
$("#<?php echo $_SESSION['last_area_visible'];?>").css("position", "relative");
$("#<?php echo $_SESSION['last_area_visible'];?>").css("display", "block");
$("#<?php echo $_SESSION['last_area_visible'];?>").show('slow');
}
$("#cam-order-form").show('slow');
$("#cam-order-nav").show('slow');
$("#order-comment-box").show('slow');
問題は、「last_area_visible」値が設定されている場合、条件付きで他のセクションを非表示にしたいので、そのようにelseステートメントを追加しますが、elseステートメントによりフォーム全体が壊れ、jqueryが解析を停止したかのように何も表示されません。
<?php if (isset($_POST['preview-order'])) { //IF PREVIEW FORM ?>
$("#cam-order-preview").show('slow');
<?php } else { //ELSE ORDER FORM ?>
if (lastAreaVisible != "") {
$("#<?php echo $_SESSION['last_area_visible'];?>").css("visibility", "visible");
$("#<?php echo $_SESSION['last_area_visible'];?>").css("position", "relative");
$("#<?php echo $_SESSION['last_area_visible'];?>").css("display", "block");
$("#<?php echo $_SESSION['last_area_visible'];?>").show('slow');
} else {
$("#cam-order-form").show('slow');
$("#cam-order-nav").show('slow');
$("#order-comment-box").show('slow');
}
洞察はありますか?一番上のコードが機能し、すべてのセクションが表示されます。下の 3 つだけを非表示にしたいのですが、奇妙な理由で jquery が気に入りません。