• ベストアンサー

リセットボタンについて

HTMLのリセットボタン作成の際に、リセットボタンを押すとテキストボックスの既定値も含めてすべての内容がクリアされるようにしたいのですが、そのようなことは可能ですか?可能だとしたらそのスクリプトも含めて教えて下さい。 特定のフォーム部品の既定値のみクリアされるようにできたらなお良いです。よろしくお願いします。

  • HTML
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

やり方は大きく2つ。 (1)リセットボタンを工夫する。 フォームでいうresetは初期値に戻すことであり、値をクリアすることでは ありません。なので、値をクリアにするにはresetではなく、submitして サーバー側で値をクリアにします。 または、javascriptでフォームの各要素の値をクリアにします。 (2)初期値をjavascriptで入れる。 フォームのreset機能をどうしても使いたいのであれば、初期値は javascriptをつかって代入します。

takethemis
質問者

お礼

大変参考になりました。ちなみにsubmitしてサーバー側で値をクリアにする方法について、もう少し詳しく教えていただけませんか?

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

>submitしてサーバー側で値をクリアにする方法 <input type="submit" name="resetbutton" value="リセット"> として、サーバー側のプログラムでresetbuttonの値が「リセット」 だったら初期値を返さないようにすればいいでしょう。 スクリプトでやるなら <input type="button" value="リセット" onClick="location.href='hoge.htm'"> みたいなのでも機能すると思います

takethemis
質問者

お礼

たびたびわざわざありがとうございました。参考になりました。

  • dameryman
  • ベストアンサー率35% (24/68)
回答No.1

テキストボックスなら空文字代入したらいいんじゃない?

takethemis
質問者

お礼

テキストボックスに初めだけは文字が入っている状態にしたいのですが・・・。

関連するQ&A

  • HTMLのリセットボタンについて

    2つ以上のフォームがあるページ内で、各フォームに対するリセットボタンと、1つのリセットボタンを押すと全てのフォームがリセットされるボタンを混在させる方法はないでしょうか?

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

    宜しくお願いします。 フォームの入力チェックで、「ある項目(ラジオボタン)を選択した場合、次のテキストボックスを入力不可にする」という動きを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> 以上です。分かりづらい説明で申し訳ございませんが、どなたか、どうぞお知恵をお願いいたします。

  • リセットボタンのイメージ化

    フォームでの送信に良く、イメージを使っている場合がありますが、 リセットボタンをイメージにできないものでしょうか? きっと、スクリプトでできるんですよね? 何か、よい方法ありましたらお願いします。

  • ユーザフォーム(VBA)で入力した内容をシートへコピーするには

    ユーザフォーム(VBA)でテキストボックスとボタンを作成しました。 このテキストボックスに入力した内容をボタンを押すことでシート1のA1セルにコピーしたいのです。こんな簡単な感じなのですが、 プログラムはどのようにしたらよいのでしょうか?教えてください。 それと、このエクセルファイルを開き、マクロを有効にするのボタンを押すと思うのですが、そのときにすでにユーザフォームが表示されているようにしたいのですが・・・どうすればいいのでしょうか? ※できたらでよいのですが、もう一つボタンを作成し『クリア』ボタンということで、テキストボックスに入力した内容だけをクリアさせるボタンも作ろうとおもうのですが、それはどうしたらよいのでしょうか? 困っています。教えてください。

  • フォームの必須項目を埋めるまで特定のボタンを無効化する

    こんばんは。 会員登録用のフォームを作成しているのですが、必須項目が入力、もしくは選択されていない場合には特定のボタン(次へボタンなど)を無効化するようにできたらな、と思っているのですが、そのような方法をご存知の方はいらっしゃいませんでしょうか。テキストボックス、チェックボックス、ラジオボックス、コンボボックスなど、色々な入力部品が混在しています。 テキストボックスでは入力、チェックボックス・ラジオボックス・コンボボックスでは特定の項目(name属性で指定するなど)が指定された場合以外を無効化したいと思っています。 こんな内容で理解できるかは不明ですが、ご存知の方はぜひご伝授ください。

  • リセットボタン

    ビルダーを使って作成しています。 普通、送信ボタンを押せば入力してあったデータはすべて消えますよね。 送信ボタンは消えますが、リセットボタンはデータが消えませせん。 なぜでしょうか?

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

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

    • ベストアンサー
    • PHP
  • C#でボタンクリックをキャンセル

    C#でボタンクリックをキャンセル こんにちは。 C#+.Netです。 ・テキストボックスとボタンを持つフォーム ・ボタンが押された時にテキストボックスの内容をチェックする。 ・OKであれば、そのままフォームを閉じる。 ・NGであればメッセージボックスを表示して、フォームは開いたまま。 というフォームを作成したいのです。 フォームはShowDialogで表示させます。 ボタンのDialogResultには、DialogResult.OKを設定してあります。 ボタンのClickイベントを使って、メッセージボックスを出すことはできたのですが、フォームを開いたままにすることができません。 あるいは、ボタンのDialogResultはNoneのままにして、イベントハンドラ内から、フォームを閉じる方法がないかと思ったのですが、それもわかりません。 どのようにすればよいのでしょうか?よろしくお願いします。

  • フォーム内の二つのテーブルのうち一つのテーブル内のオブジェクトの内容のみをクリアしたい

    フォーム内にテーブルを二つ作成しました。 テーブル1の中のあるチェックボックスのチェックが入っているかいないかにより テーブル2のオブジェクト(テキスト、ラジオボタン、チェックボタン)の内容を全てクリアしたいのです。 テキストは中身を消して、ラジオボタン、チェックボタンはチェックを はずしたいということです。 テーブル1はそのままで、テーブル2のみ初期状態にしたいのです。 まとめてクリアしたいのですが、出来ないのでしょうか?

  • クリアボタンの動作について その2

    ご存知の方、ご教授くださいm(__)m クリアボタンの動作について、の続きです。 1点忘れていました。 現在、画面上で入力された項目を消去するためにクリアボタンを設置しており、 フォーム中の、 ・通常のテキストボックスの内容:消去 ・disabledのテキストボックスの内容:消去せずそのまま ・チェックボックスはchecked=falseにする までは回答者様のおかげで解決できたのですが、 もう1点、 ・プルダウンメニューも初期値にリセットする という点を忘れていました。 対象となるHTMLは以下のようなものです。 <select name="lineCode"> <option value=""></option> <option value="PAA" >PAA</option> <option value="PAB" >PAB</option> <option value="PAC" >PAC</option> </select> 現状のjavascript: $(function () { $('.buttons :button[name=clear]').click(function() { $('input[type="text"]').not('[disabled="disabled"]').val(''); $('input[type="select"]').val(''); $('input[type="checkbox"]').removeAttr ( 'checked' ); return false; }); .... こちらも解決方法を教えていただけると助かります。 よろしくお願いいたします。

専門家に質問してみよう