以下のコードでフォームへの前回入力値を保持しています。
送信前は"RESET"ボタンで入力値をクリアーできますが、送信後は入力値をクリアーできません。(RESETボタンをクリックしても送信済$_POSTが表示されます)おそらくブラウザのキャッシュで$_POSTの値が保持されているためと思われますが、何らかのボタンクリックでこれらの$_POST値をクリアする方法をご存知に方、是非ご教授ください。
<?php
$yyyy=$_POST[Y];
$mm=$_POST[M];
$dd=$_POST[D];
?>
<FORM action="<?=$_SERVER[PHP_SELF]; ?>" method="post" >
<P>YYYY<INPUT size="10" type="text" name="Y" value="<?= $yyyy;?>"></P>
<P>MM<INPUT size="10" type="text" name="M" value="<?= $mm;?>"></P>
<P>DD<INPUT size="10" type="text" name="D" value="<?= $dd;?>"></P>
<INPUT type="submit" name="submit" value="送信">
<INPUT type="reset" name="reset" value="reset">
</FORM>
No.1ベストアンサー
- 回答日時:
「リセットをサブミットする」って言ったら変なのかな?
<?php
$post = $_POST;
if ( 'reset' != $post[ 'reset' ] )
{
$year = $post[ 'year' ];
$month = $post[ 'month' ];
$day = $post[ 'day' ];
}
else
{
unset ( $post );
}
if ( isset ( $post ) )
{
$reset = 'submit';
}
else
{
$reset = 'reset';
}
?>
<form action="<?php echo ( $_SERVER[ 'PHP_SELF' ] ); ?>" method="post">
<p>
Y:<input size="10" type="text" name="year" value="<?php echo ( $year ); ?>" /><br />
M:<input size="10" type="text" name="month" value="<?php echo ( $month ); ?>" /><br />
D:<input size="10" type="text" name="day" value="<?php echo ( $day ); ?>"><br />
<input type="submit" name="submit" value="submit" />
<input type="<?php echo ( $reset ); ?>" name="reset" value="reset" />
</p>
</form>
No.2
- 回答日時:
リセットとは別に値を空にすることではなく、
ロード時の状態に戻すことですから、PHPで初期値を引き継いで
いるのであれば、リセットボタンを押すと、初期値が表示されるのは
当たり前のこと。
場合によってはリセットをきかせたいのであれば、
javascriptで初期値を設定するというやり方も検討の余地があるかと。
<?php
$yyyy=$_POST[Y];
$mm=$_POST[M];
$dd=$_POST[D];
print <<<eof
<script>
window.onload=function(){
var f=document.getElementById("f1");
f.Y.value='{$yyyy}';
f.M.value='{$mm}';
f.D.value='{$dd}';
}
</script>
<FORM action="{$_SERVER["PHP_SELF"]}" method="post" id="f1">
<P>YYYY<INPUT size="10" type="text" name="Y" value=""></P>
<P>MM<INPUT size="10" type="text" name="M" value=""></P>
<P>DD<INPUT size="10" type="text" name="D" value=""></P>
<INPUT type="submit" name="submit" value="送信">
<INPUT type="reset" name="reset" value="reset">
</FORM>
eof;
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
フォームでのリセットを使う方法
PHP
-
フォーム内で記入したクエリ送信後自動的にフォーム内をリセットする方法
JavaScript
-
フォームで戻った際に入力済みの値が残るのを消したい
PHP
-
-
4
フォーム送信後の更新ボタンでも$_POST変数が初期化されない
PHP
-
5
$_POST['hoge']のデータをフラッシュするには
PHP
-
6
formで送信したPOSTデータの削除について
PHP
-
7
HTMLで前の画面に戻る時、入力していた値が消えてしまいます。
PHP
-
8
テキストボックスの入力をリセット
JavaScript
-
9
複数 selectフォームから今回onchangeで変更した項目を知りたい
PHP
-
10
テーブルタグの中にdivを含めてはダメ?
HTML・CSS
-
11
変数内容をHTML内で表示する方法
JavaScript
-
12
POSTで受け渡したものを保存したいです。
PHP
-
13
お問い合わせフォームの送信後クリア
HTML・CSS
-
14
PHP ボタンが押されたら処理を実行する
PHP
-
15
Javascript_submit()完了後に処理したい
JavaScript
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<input type="hidden" >で配列...
-
フォームボタンを押すたびに数...
-
入力した部分を表示させたまま...
-
チェックボックスによる検索
-
POSTデータのNAME属性をVALUEに...
-
HTMLで前の画面に戻る時、入力...
-
PHPでじゃんけん勝負
-
チェックボックスによる検索(...
-
PHP ボタンが押されたら処理を...
-
php mysql でチェックボックス...
-
フォームでのリセットを使う方法
-
PHPの関数実行
-
検索時の選択内容を保持する方法
-
チェックボックスの必須項目指定
-
PHPでCookieを使った訪問回数に...
-
HTMLのリンクをクリックするこ...
-
配列をhiddenで
-
DBの値をチェックボックスに反...
-
PHPで画像の渡しが上手く行きま...
-
phpで分からないエラーが出てし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<input type="hidden" >で配列...
-
検索時の選択内容を保持する方法
-
HTMLで前の画面に戻る時、入力...
-
DBの値をチェックボックスに反...
-
フォームへの前回入力値をクリ...
-
PHPでCookieを使った訪問回数に...
-
PHPで画像の渡しが上手く行きま...
-
PHP ボタンが押されたら処理を...
-
HTMLのリンクをクリックするこ...
-
syntax error, unexpected '}' ...
-
画面が更新されてもチェックボ...
-
チェックボックスのvalueを連結...
-
チェックボックスの必須項目指定
-
PHPでユーザー情報を入力して簡...
-
PHPの関数実行
-
POSTデータのNAME属性をVALUEに...
-
パラメーターを隠す
-
phpで分からないエラーが出てし...
-
PHPで、ボタンを押すと同じペー...
-
テキストボックスに初期値を入れる
おすすめ情報