• ベストアンサー

【PHP】もし、「リセット」ボタン押されたらについて質問

  フォームの所の<input name="Reset" type="reset" value="リセット">で ボタン(リセット)が押されたらの判定なんですが、次ぎの様にやってみましたが どうも、ボタン(リセット)が押されたらの判定が対応されていません。 <?php if($_REQUEST["Reset"]!= ""){ $body = "";$body2 = ""; } ?> 「もし、ボタン(リセット)が押されたら…」の処理がしたいのですが どうしたら良いのでしょうか?教えて下さい。    

  • PHP
  • 回答数2
  • ありがとう数6

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

<input name="Reset" type="reset" value="リセット" onClick="clear()"> って感じで「明示的にファンクションを呼び出す」ようにしないと駄目でしょうね。 なぜなら「リセットボタンのクリックによる項目のクリア動作」は「ブラウザ内で完結してしまう」から、明示的にファンクションを呼ばない限り、何も呼び出されません。 ぶっちゃけリセットのクリックは「何事も起きてないのと同じ」なんです。

zin_orz_l
質問者

お礼

この度は、早々のご回答下さり有り難う御座います。 なるほど、どうりで反応しない訳なんですね。 教えて頂き有り難う御座いました。

その他の回答 (1)

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.2

<input name="Reset" type="reset" value="リセット"> で、リセットボタンを押した場合は 同一 form内の各inputの項目のvalue値が表示されるようになる というだけのもので、ブラウザが動作させているだけです これはPHPが悪いわけでなく、HTMLの仕様です。 サーバーにリクエストをするわけではないので、PHP側ではどうすることもできません。 リセットボタンを押した場合の挙動をPHP側でなにかしら処理が必要であれば、JavaScript等と組み合わせが必要になります。

zin_orz_l
質問者

お礼

この度は、早々のご回答下さり有り難う御座います。 PHPがどうのこうのと言うよりHTMLの仕様なんですね! 教えて頂き有り難う御座いました。

関連するQ&A

  • PHP リセットボタンをクリックしたら一部リセット

    メールフォームとかで、リセットボタンをクリックすると全ての値がリセットしてしまうのですが、全部ではなく、一部だけリセットしないといったものは可能でしょうか? <input size="20" type="date" name="日付" /> /* リセットボタン */ <input type="reset" value="リセット" />

    • ベストアンサー
    • PHP
  • php アンケートについての質問

    htmlのフォームから送信 phpでアンケート結果を受け取る ようなものを書きましたがphpの受け取る処理でエラーが起きてしまうので@を書いて何とか動くようにしました。@を使わずにエラーを修正したいのですがうまくいきません。どなたか助けてさい <html> <p> </p> <h3>アンケート</h3> <form name="form" action="upload1.php" method="GET"> <body bgcolor="#f40fff" text="#ffffff"> <p> お名前を入力して下さい:<br> <input type="text" name="simei"> </p> <p> 性別を選んで下さい。<br> <input type="radio" name="gender" value="男性">男性です<br> <input type="radio" name="gender" value="女性">女性です<br> </p> <p> この大学を何で知りましたか?<br> <input type="checkbox" name="check1" value="メディア媒体"/> メディア媒体で<br> <input type="checkbox" name="check2" value="イラスト"/> イラストで<br> <input type="checkbox" name="check3" value="その他"/> その他<br> </p> <p> 最近ハマっていることは?<br> <input type="checkbox" name="check4" value="サークル、部活"/> サークル部活など<br> <input type="checkbox" name="check5" value="得にない"/> 得にない<br> <input type="checkbox" name="check6" value="その他"/> その他<br> </p> <p> 今やりたいことは?<br> <input type="checkbox" name="check7" value="課題"/> 課題など<br> <input type="checkbox" name="check8" value="得にない"/> 得にない<br> <input type="checkbox" name="check9" value="その他"/> その他<br> </p> <p> <input type="submit" name="submit" value="送信"> </p> </body> </html> php <html> <body bgcolor="#f40fff" text="#ffffff"> <p> </p> <h3>アンケート</h3> <p> <?php print(date('A:g時i分s秒').'<br>'); ?> <b>お名前:</b><br> <?php print( @$_REQUEST["simei"] ); ?> </p> <p> <b>性別:</b><br> <?php print( @$_REQUEST["gender"] ); ?> </p> <p> <b>この大学を何で知りましたか:</b><br> <?php print( @$_REQUEST["check1"] ); ?><br> <?php print( @$_REQUEST["check2"] ); ?><br> <?php print( @$_REQUEST["check3"] ); ?><br> </p> <p> <b>最近ハマっていることは:</b><br> <?php print( @$_REQUEST["check4"] ); ?><br> <?php print( @$_REQUEST["check5"] ); ?><br> <?php print( @$_REQUEST["check6"] ); ?><br> </p> <p> <b>今やりたいことは:</b><br> <?php print( @$_REQUEST["check7"] ); ?><br> <?php print( @$_REQUEST["check8"] ); ?><br> <?php print( @$_REQUEST["check9"] ); ?><br> </p> <p> <?php $life = 60 * 60 * 24 * 30; if(isset($_COOKIE["count"])) { $count = $_COOKIE["count"] + 1; } else { $count = 1; } setcookie("count", $count, time() + $life); ?> <?php echo $count, "回目の訪問です。\n"; ?> </body>

    • ベストアンサー
    • PHP
  • phpに関する質問

    phpでフォームに入力して送信ボタンを押したらアンケートの集計をphpの方に出力するプログラムを作っているのですがhtmlのほうは問題なく動くのですがphpのほうが入力したものが反映されなくて非常にこまっていますどなたかたすけてください ここからhtml <html> <p> </p> <h3>アンケート</h3> <form name="form" action="kadai.php" method="GET"> <p> お名前を入力して下さい:<br> <input type="text" name="simei"> </p> <p> 性別を選んで下さい。<br> <input type="radio" name="gender" value="男性">男性です<br> <input type="radio" name="gender" value="女性">女性です<br> </p> <p> この~を何で知りましたか?<br> <input type="checkbox" name="check1" value="メディア媒体"/> メディア媒体で<br> <input type="checkbox" name="check2" value="イラスト"/> イラストで<br> <input type="checkbox" name="check3" value="その他"/> その他<br> </p> <p> 最近ハマっていることは?<br> <input type="checkbox" name="check4" value="サークル、部活"/> 部活など<br> <input type="checkbox" name="check5" value="得にない"/> 得にない<br> <input type="checkbox" name="check6" value="その他"/> その他<br> </p> <p> <input type="submit" name="submit" value="上記内容で送信"> </p> </form> </body> </html> ここからphp <html> <p> </p> <h3>アンケート</h3> <p> <b>下記の内容でお問合せを受付けました。<br> ありがとうございました。</b> </p> <p> <b>お名前:</b><br> <?php print( $_REQUEST["simei"] ); ?> </p> <p> <b>性別:</b><br> <?php print( $_REQUEST["gender"] ); ?> </p> <p> <b>この~を何で知りましたか:</b><br> <?php print( $_REQUEST["check1"] ); ?><br> <?php print( $_REQUEST["check2"] ); ?><br> <?php print( $_REQUEST["check3"] ); ?><br> </p> <p> <b>最近ハマっていることは:</b><br> <?php print( $_REQUEST["check4"] ); ?><br> <?php print( $_REQUEST["check5"] ); ?><br> <?php print( $_REQUEST["check6"] ); ?><br> </p> <p> </body> </html>

    • ベストアンサー
    • PHP
  • 電卓 php

    php 電卓 現在phpにて電卓を作ろうと思っています。なので まずは1のボタンがクリックされたら画面に1と表示されるだけのプログラムを 作ってる最中なのですが、上手くいかず困っております。 以下ソースコードです。ファイル名「index.php」 <!DOCTYPE html> <html> <head> <meta charset='utf-8'> <title>HTML内でのPHPスクリプト - PHP入門</title> </head> <body> <?php $a = $_REQUEST['button1']; if (isset($_POST["button1"])) { $kbn = htmlspecialchars($_POST["button1"], ENT_QUOTES, "UTF-8"); switch ($kbn) { case "1": echo "登録処理"; break; } } ?> <form action="index.php" method="post"> <input type="button" name="button1" value="1"/> <input type="button" name="button2" value="2"/> <input type="button" name="button3" value="3"/> <input type="button" name="button4" value="4"/> <input type="button" name="button5" value="5"/> <input type="button" name="button6" value="6"/> <input type="button" name="button7" value="7"/> <input type="button" name="button8" value="8"/> <input type="button" name="button9" value="9"/> <input type="button" name="button10" value="10"/> <input type="submit" name="button_sum" value="計算する"> </form> </body> </html> 1のボタンをクリックしたら画面に1と表示させられるようにさせるにはどうしたら良いでしょうか? お馬鹿な質問かも知れませんが、ご教授の程願います。

    • ベストアンサー
    • PHP
  • PHPでフォーム作成

    テキストボックス、ラジオボタン、チェックボックスをHTMLで作成し、ユーザーが選択した値をPOSTで受け取り、 表示するプログラムを作成するとどのようになるか教えてください。 <?php // 送信ボタンがクリックされた場合の処理 if ($_SERVER['REQUEST_METHOD'] === 'POST') { } ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>フォーム</title> </head> <body> <h1>フォーム</h1> <form method="post"> <p>お名前: <input id="my_name" type="text" name="my_name" value=""></p> <p>性別: <input type="radio" name="gender" value="man">男 <input type="radio" name="gender" value="woman">女</p> <p><input type="checkbox" name="mail" value="OK">お知らせメールを受け取る</p> <input type="submit" name="submit" value="送信"> </form> </body> </html>

    • ベストアンサー
    • PHP
  • PHPのsubmitボタンが複数ある場合

    PHPのsubmitボタンが複数ある場合 PHPにて会計システムを開発しているのですが、計算ボタンと、更新してDBに追加するためのボタンとが混在している場合、 $_POST等で押されたボタンの処理を分けることは可能なのでしょうか?下の例は、 name="calculation"が押された場合は、val1とval2の値を計算し、totalへ値を入れます。 name="update"が押された場合は、それぞれのフォームの値をDBに更新をかけます。 <?php <form action="****.php" method="POST"> <input type="text" name="val1" value="20"/> <input type="text" name="val2" value="30"/> <input type="text" name="total" value="50"/> <input type="submit" name="calculation"/> <input type="submit" name="update"/> </form> ?> お分かりになる方、ご教授お願いいたします。

    • 締切済み
    • PHP
  • INPUT(TEXT)フォームのリセット

     テキストのフォームをリセットできない状況で,どうすればよいかご指導いただきたく投稿しました。HTMLファイルから検索ワード"SerchWord"を再検索画面にも表示させるために"GET"で送り,$_GETで受け取るという形にしています。  ちなみに,今回の命令ではタイプをボタンにして,onClickで場所を指定してリセット命令をかけていますが,type='reset'でも,onClick='thisform.reset()'でも,テキストボックス内の文字は消えませんでした。  以下,その部分のプログラムです。 …… if($_GET["SerchWord"] == null || (strcmp($_GET["SerchWord"] , "") == 0)) { echo("<input size='60' type='text' name='SerchWord' value='' />"); } else { echo("<input size='60' type='text' name='SerchWord' value='" . $_GET["SerchWord"] ."' /> "); } echo("<INPUT type='submit' value='検索'><BR>"); echo("<INPUT type='button' value='リセット' onClick='document.Kensaku.SerchWord.reset()'><BR>"); ……  もしかすると悩むレベルではないかもしれませんが,自分にとって簡単なようで,ものすごく悩んでいます。  どなたかご指導いただければ・・・。よろしくおねがいします。

    • ベストアンサー
    • PHP
  • 【PHP】フォームの reset 時の変数クリアー処理について質問。

      フォームの<INPUT TYPE="reset" VALUE="リセット" onClick="clear()">ところの onClick="clear()"を使用して、変数をクリアーしようと、次ぎの様にやってみましたが 変数がクリアーしませんでした。 <?php function clear(){ $body = "";$body2 = ""; } ?> どのようにしたら変数をクリアーさせる事ができるのでしょうか?教えて下さい。  

    • ベストアンサー
    • PHP
  • リセットボタンでクリアできない(初期の状態に戻らない)のですが・・・

    宜しくお願いします。 フォームの入力チェックで、「ある項目(ラジオボタン)を選択した場合、次のテキストボックスを入力不可にする」という動きをjavascriptでさせています。 しかし、フォームのリセットボタンをクリックした際に、選択したラジオボタンはクリアできるのですが、テキストボックスの状態をクリアすることが出来ません。 ちなみに、動きの詳細は以下の通りです。 1.ラジオボタン「ケースA」を選択すると… 2.テキストボックスが入力不可となり、テキストボックスの背景色がグレーになる 3.「ケースB」「ケースC」を選択すると入力可でテキストボックス背景色は赤になる 4.いずれかを選択した状態でリセットボタンをクリックすると… 5.ラジオボタンはリセットされるが、背景色は残ったまま 6.リセットボタンを再度クリックすると、テキストボックスは全てがクリアされた状態(入力可・背景色白)に戻る このような感じです。 現在のソースは以下の通りですが、どのようにしたらよいでしょうか? (javascriptは得手では無いので、本来ならもっと簡略できるのかもしれませんが、ご了承ください。m(__)m) [JAVASCRIPTソース] function DisAble() {  if(document.input.case[0].checked == true ) {   document.input.text1.disabled = true;   document.input.text1.style.backgroundColor='#cccccc';   return false;  } else if ((document.input.case[1].checked == true ) || (document.input.case[2].checked == true )){   document.input.text1.disabled = false;   document.input.text1.style.backgroundColor='#ff0000';   return false;  } else { // リセットボタンを2回クリックするとようやく以下の設定になる。   document.input.text1.disabled = false;   document.input.text1.style.backgroundColor='#ffffff';   return false;  } } [HTMLソース] <body>  <form name="form1">  <!-- ラジオボタン -->   <input type="radio" name="case" value="A" onClick="DisAble()">ケースA(入力不可)   <input type="radio" name="case" value="B" onClick="DisAble()">ケースB(入力可)   <input type="radio" name="case" value="C" onClick="DisAble()">ケースC(入力可)      <!-- テキストボックス -->   <input type="text" name="text1">   <!-- 送信・リセットボタン -->   <input type="submit" value="送信">   <input type="reset" value="リセット" onClick="DisAble()">  </form> </body> 以上です。分かりづらい説明で申し訳ございませんが、どなたか、どうぞお知恵をお願いいたします。

  • ”送信ボタン” ”クリアボタン” について

    困ってます。 ”送信 クリアボタン” <input type="submit" value="送信" name="B1"><input type="reset" value="リセット" name="B2"> これを2つの画像にした場合、送信アイコン、クリアアイコンにはどう記述すればOKでしょうか? 困ってま~~~~す。

    • ベストアンサー
    • CGI

専門家に質問してみよう