

検索画面を作成しています。
この検索画面にリセットボタンを設置したいと思っているのですがうまくいきません。
この画面には、検索キーになる項目が50個ぐらいあるのですが、
一部のプルダウン項目が連動しており、選択される項目が変わる度に
onchangeで、自分自身のページにsubmitしています。
上記のような事をしている為、他の入力フィールドは、
<input type="text" name="xxx" value=<%=Request("xxx")%>>
としています。ですから、単純に
<input type="reset" value="リセット">
というものが利用できない状態です。
リセットボタンを押された時に初期化(最初にページを開いた時の状態)に戻したいのですが、
何か良い方法はないでしょうか?ご存知の方がいらっしゃいましたらご教授下さい。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
最初ページを開いた時の全フィールドを値をHiddenボークスで埋め込んで、リセット(普通のボタン)時に、Onclick事件でHiddenから読み込んで、値を付与ます。
50個フィールドがあれば、50個Hiddenボークスを用意します。
自分自身のページにsubmitすることがありますので、
最初状態とsubmit状態区別用のフラグを設ければ、OKだと思います。
wangkp様
ご回答ありがとうございます。
なるほど。Hiddenか~。全然頭にありませんでした。
早速試してみたいと思います。
ありがとうございました。
No.5
- 回答日時:
No4です。
自分で補足しますが・・・
<!--↓リセット用のフォーム-->
<form action="自分自身のURL">
<input type="submit" value="リセット">
</form>
リセット用のフォームの中身は、何も無しで良いかも。
テストはしてませんので、うまく行かなかったらごめんなさい。
No.4
- 回答日時:
テストはしていませんが、
空の内容を自分自身にsubmitすれば初期化されませんか?
<!--↓メインのフォーム-->
<form>
<input type="text" name="xxx" value=<%=Request("xxx")%>>
・
・
・
<input type="submit" value="送信">
</form>
<!--↓リセット用のフォーム-->
<form>
<input type="hidden" name="xxx" value="">
・
・
・
<input type="submit" value="リセット">
</form>
同じ内容で、全てhiddenでvalueが空のフォームを用意、
リセットボタンで、その内容をsubmit。
venzou様
ご回答ありがとうございます。
なるほど。
プルダウンの連動で自分自身にsubmitしているにも関わらず、空の内容の自分自身にsubmitする
という発想がでてきませんでした。
まだまだ未熟者です。
早速試してみたいと思います。
ありがとうございました。
No.3
- 回答日時:
<script language="javascript">
var submitFlg = true;
以下略
<form name="Myform" onSubmit="return submitFlg;" >
<input type="button" value="リセット" onClick="submitFlg=false;Myform.reset();submitFlg=true;">
以下略
とかは出来ないですかね?
リセットボタンを押されたらsubmitを無効化してreset()を呼び出し、
終了したら有効にする。
テストはしていません。
marimari01様
ご回答ありがとうございます。
なるほど、フラグでコントロールするんですね。
私も色々試した結果うまくいかなかったので、resetは使えないと思っていたのですが、
もう一度試してみたいと思います。
ありがとうございました。
No.2
- 回答日時:
たとえばこんな感じで地道にクリアしてください
<script>
function resetValue(f){
for (var i=0;i<f.length;i++){
if(f[i].type=="text") f[i].value="";
if(f[i].type=="select-one") f[i].selectedIndex=0;
if(f[i].type=="radio") f[i].checked=false;
}
}
</script>
<form>
<input type="text" value="hogehoge">
<select>
<option value="">選択</option>
<option value="1">1</option>
<option value="2" selected>2</option>
</select>
<input type="radio" name="r1">
<input type="radio" name="r1">
<input type="radio" name="r1" checked>
<input type="button" value="リセット" onClick="resetValue(this.form)">
</form>
yambejp様
ご回答ありがとうございます。
なるほど。こう言う方法があるのですね。
type 別に値の変更ができるのか~。大変勉強になります。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptによる自動計算フォ...
-
Kintone(キントーン)でドロップ...
-
selectboxのoptionタグのvalue...
-
テキストエリア内容からチェッ...
-
関数名などの固有名詞(?)を...
-
複数のsubmitボタンで押された...
-
ラジオボタンとテキストを同時...
-
jsで、配列内の文章を改行する...
-
<input>の選択肢をプルダウンメ...
-
Selectボックスの幅を自動で広...
-
javaScriptの変数をJavaの変数...
-
JavaScriptのfileオブジェクト...
-
<JavaScript>tableタグを入力不...
-
ASP.NETでNAME属性を固定にしたい
-
RegularExpressionValidatorの...
-
クリックされた罫表セルの行番...
-
同じ名前のセレクトがある場合...
-
onchangeイベントを強制的に発...
-
プルダウンで選択された値を別...
-
二次元配列に数字をランダムに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
value内に変数を入れたい
-
hiddenのvalueの値を変えたい
-
UART通信の取説で,left floati...
-
sessionStorageを調べています。
-
javascriptでhiddenに二次元配...
-
eval()を使わずに数値を取得し...
-
Kintone(キントーン)でドロップ...
-
3桁区切りのカンマをつけたい...
-
selectboxのoptionタグのvalue...
-
自動的に連番生成したURLにリン...
-
子から親へチェックボックスの...
-
どのボタンがクリックされたの...
-
フォームで個数の選択をプルダ...
-
name属性が同じフォームが複数...
-
VB.NET DateTimeの型について
-
JAVASCRIPTの日数計算について
-
プルダウン選択時、既に入力済...
-
Javascriptのグローバル変数に...
-
セレクトボックスの初期選択状...
-
JAVASCRIPTで、ボタンを押した...
おすすめ情報