プログラム最終更新日:2016/10/03ラムネグから一言:寝る前に読むとくだらなすぎて逆に寝れると好評なすごい適当なブログをこっちではじめてます.jqueryでフォームのリセットを行うformのinputに入力した文字は、html上でresetボタンを設置するほかにも、jqueryでも好きなタイミングでリセットすることが出来ます。今回はjqueryでinputに打ち込んだ内容をリセットできない場合に確認する項目を4つ紹介します。[0]をつけていないvalueにあらかじめ入力した内容をリセットしようとしているhiddenに入力した内容をリセットしようとしているhtmlのリセットボタンのnameを”reset”にしているjqueryでフォームのリセットを行う1[0]をつけていない2valueにあらかじめ入力した内容をリセットしようとしている3hiddenに入力した内容をリセットしようとしている4htmlのリセットボタンのnameを”reset”にしているjqueryのreset()が動かないときはこの4つをまず確認!1[0]をつけていないjqueryでformの値をリセットするには以下のように記述します。丸印にはinputやボタンではなくform自体を指定します。-動く!$("○○○")[0].reset();この時に上記のように[0]を書かないとリセットされません。普通jqueryでは『$(“”)』でDOMの選択をした後、処理内容をそのまま書くので、少し特殊ですね。jqueryのバグなように感じますが、reset()に関しては[0]がないと動きません。これがもっとも多い原因じゃないかなと個人的には思います。2valueにあらかじめ入力した内容をリセットしようとしているこれはjqueryのreset()だけでなくhtmlのresetボタンでも同様です。htmlやphpでvalueの値をあらかじめ設定して初期値を持たすことがあると思います。/>この場合、html上のresetボタンでもjqueryのreset()でもリセット後はvalueの値になります。javascriptやjqueryで初期値のvalueを設定する場合はきちんと何もない状態にリセットされます。いうことでhtmlやphpでvalueの値を設定しているにも関わらずリセットして何も入力されていない状態にしたい場合は、javascript(jquery)で専用のリセット処理を自分で書く必要があります。一度ですがコレが起きるのはhtmlやphpで初期値としてvalueに値を入れた場合です。jqueryやjavascriptで設定したvalueの値はきちんとリセットされます。3hiddenに入力した内容をリセットしようとしているこれも2と同じでjqueryのreset()だけでなくhtmlのresetボタンでも同様です。inputのtypeにはhiddenという表示されない入力欄を作ることが出来ます。これは例えばパスワードをformを通して次のページに送ったりするときに使用します。このhiddenに入力された値はresetしても関係なしに保持され続けます。htmlでもphpでもjavascriptでもです。/>なのでここでもhiddenに入力した値をリセットしたい場合はjavascriptで自分で実装しないといけません。こちらは先ほどの2と違いhtml、php、javascript、jqueryすべてで起こる点に注意してください。4htmlのリセットボタンのnameを”reset”にしている最後はかなりレアケースだと思います。formの部品の中にname=”reset”の部品があるとjqueryのreset()が効かなくなります。/>推測ですがjqueryで使用しているreset()という関数の名前を上書きしてしまうのだと思います。名前をreset以外に変えるだけで治るので対策はラクチンです。jqueryのreset()が動かないときはこの4つをまず確認!jqueryのreset()が動かない場合の確認項目を4つ紹介しました。起こる原因を集めましたのでまずはこの4つから確認してみてほしいと思います。