2012-02-20 20 views
0

ユーザーがフォームを送信したときにエラーが発生した場合は、入力した内容をテキストボックスに残して再入力するのではなく、編集することができます。私はこの値を格納するために隠しフィールドを使用しようとしています。テキストボックスの値を非表示フィールドとPHPで設定する

echo '<table><form method="post" action="" name="groupInvite"> 
     <tr><td>Event Title:</td><td> <input type="text" name="eventTitle" value = "'.$_POST['hiddenTitle']. '"></td><td>'; 
     $hiddenTitle = $_POST['eventTitle']; 
     echo '<input type="hidden" name="hiddenTitle" value = "' .$hiddenTitle. '">'; 
+0

あなたの問題は...? –

+0

あなたの質問は何ですか? ;) - あなたのコードは途中で有効なHTMLではありません。 – Zeta

+0

私はどれくらい明確に私がそれを作ることができるかわかりません。ユーザーがフォームを送信してエラーが発生した場合、タイプしたものをテキストボックスに残して、再入力するのではなく編集することができます。 – user1104854

答えて

1

この:

<input type="hidden" name="hiddenTitle" value = "'<? $_POST['eventTitle'] >?'"> 

は次のようになります。

<input type="hidden" name="hiddenTitle" value="<?= $_POST['eventTitle'] ?>" /> 

<?=<? echoと同じです。また、終了タグが混在していて、二重引用符の中に一重引用符がある - 私はあなたがそれらを削除したので、それらを必要としなかったと仮定していますが、それらをテキストボックスそれでもそれらを追加することができます。

前のテキスト要素も<?=代わりに、あなたはすべてが(フォームを投稿していると仮定した場合)$ _POST配列に保持され、フォームを送信した


<?で必要になります。

フォームには、ユーザーが入力して送信するテキストボックスがあります。それだけ一度、提出が$ _POST配列が満たされるS、SOすべてを行う必要がこれです:

<table><form method="post" action="" name="groupInvite"> 
<tr><td>Event Title:</td><td> <input type="text" name="eventTitle" value="<? if(isset($_POST['eventTitle']) && trim($_POST['eventTitle']) != ''){ echo $_POST['eventTitle']; } ?>"></td><td> 

我々は(フォームが基本的に提出された場合)$_POST['eventTitle']が存在するかどうかを確認し、それがだと空ではない。その場合、その内容をテキストボックスの値にエコーします。

+0

隠しフィールドを使用してこれを行うことはできませんか、テキストボックス内の内容を維持する他の方法が必要ですか? – user1104854

+0

答えを更新しましたか? – BenOfTheNorth

+0

素晴らしいです!今はそれを見るのが理にかなっています。最初は分かりませんでした。再度、感謝します! – user1104854

関連する問題