この前、酔って携帯を無くし、必死こいて探しましたが見つかりませんでした。
そしたらなんと、自宅の冷凍庫に冷凍保存してました。
どうも、こんなPONKOTSUです。(反省します)
今回は久しぶりにフロントエンドについてかきます。
htmlのinput[type=“reset”]は
初期値があれば、その初期値にリセットされる。
※jquery,jsのreset()も同様。
フォームなんかで、
選択済みのチェックボックスや入力済みの入力値を
\ 一括でリセットできるボタンがほしい /
って時があると思います。
そんなとき、こんなコード書くと思います。
(input[type=”reset”]というのがあるのをこの時知りました。)
htmlだったら…
<input type="reset" value="リセットボタン">
jsだったら…
<button id="js_reset">jsのreset()</button>
<script>
var js_rese_btn = document.getElementById('js_reset');
js_rese_btn.addEventListener("click", function(){
document.form.reset()
}, false);
</script>
これで、リセットはできるんです。
ただ、私の想定と違う時がありました。
それは、、、
リセット対象のformにvalueやselected,checkedなどの
初期値を設定している時です。
→値が「空」になるわけではなく、設定した初期値になる
デモはこちら。
https://jsfiddle.net/ocq0auwn/12/
ソースは感じ
<form action="#" name="form1">
<!-- 「キン肉太郎」と入力して、リセットボタンを押すと、「山田孝之」になる。--> 名前:
<input class="input_text_name" type="text" value="山田孝之" >
飲んだお酒:
<select class="select_sake">
<option value="">選択してください</option>
<option value="1">ビール</option>
<option value="2">ハイボール</option>
<option selected="selected" value="3">飫肥杉</option>
<option value="4">もえしゃん</option>
<option value="5">カプモーニ</option>
</select>
<input class="check_sake" checked="checked" type="checkbox" >お酒はほどほどにします。
<input type="reset" value="htmlのリセット">
<button class="jquery_reset">jQueryのreset()</button>
<button id="js_reset">jsのreset()</button>
<button class="jquery_reset_perfect">完全リセットしたい時に押すボタン(jQuery)</button>
jsはこんな感じ
/* JS */
var js_rese_btn = document.getElementById('js_reset');
js_rese_btn.addEventListener("click", function(){
document.form1.reset()
}, false);
/* jQuery */
$('.jquery_reset').on('click', function(){
$('form').get(0).reset();
//document.form1.reset(); //jsだとこれ
});
//完全リセット
$('.jquery_reset_perfect').on('click', function(){
$('.select_sake').find('option:selected').prop('selected', false);
$('.input_text_name').val('');
$('.check_sake').prop('checked', false);
});


