0

クラスのこの課題のアイデアが尽きてしまいました。PHP_SELF を使用して 2 つの PHP フォームを作成する必要がありましたが、javascript または jquery を使用してフォームを切り替える必要があります。使ってみた

<a href="#" onclick="document.getElementById('form1').style.display = 'block'; document.getElementById('form2').style.display = 'hidden';">Form 1</a>
<a href="#" onclick="document.getElementById('form1').style.display = 'hidden'; document.getElementById('form2').style.display = 'block';">Form 2</a>

これはフォームを変更しても機能しますが、フォームの送信ボタンを押すとフォーム 1 に戻り、結果が表示されません。私が理解しなければならないことは、フォームが PHP_SELF を使用して送信された後、サーバーによって生成された結果を表示するためにそのフォームにとどまる方法です。

4

2 に答える 2

1

このようなものを使用する必要があります

if($_POST){
//display success message here
}else{
//display form here
}
于 2012-09-12T21:16:06.497 に答える
0

呼び出されたフォームに非表示フィールドを追加し、formIdPHP にエコー バックさせることで、どのフォームの結果を読んでいるかを Javascript から知ることができます。

<?php
    ...
    if (isset($_POST['formId']))
    {
        $show = 'form1' == $_POST['formId'] ? 'form1' : 'form2';
        $hide = 'form1' == $_POST['formId'] ? 'form2' : 'form1';
        // This PHP must be inside the Javascript section of the page, at end.
        print <<<SETVISIBILITY

\$('#$show').style.display = 'block'; // Should be unnecessary (?)
\$('#$hide').style.display = 'hidden';

SETVISIBILITY;
    }
?>

または、フォームの可視性を失ってページをリロードする必要がないように、すべて jQuery で SUBMIT と結果表示を行うことができます。

于 2012-09-12T21:15:19.010 に答える