【JavaScript】formにtype="hidden"のinput要素を追加する
※本ページのリンクにはプロモーションが含まれています。
こんにちは、Ryohei(@ityryohei)です!
本記事では、JavaScriptでformにtype="hidden"のinput要素を追加する方法をご紹介しています。
JavaScriptでformにtype="hidden"のinput要素を追加したいな。良い方法ないかな?
上記の疑問にお答えします。
では、解説していきます。formにtype="hidden"のinput要素を追加する方法
form
にtype="hidden"のinput
要素を追加する方法はいくつかあります。本記事では3パターンの追加方法をご紹介していますので、ご自身の好みや環境にあわせて選択いただければと思います。
insertAdjacentHTMLでHTMLタグを追加する
ininsertAdjacentHTML
でHTMLタグを指定の位置に追加します。要素を追加するのとは若干ニュアンスが異なりますが、 HTMLタグを追加する方法で考えると一番使いやすいメソッドだと思います。
//ドキュメント上の最初のフォームを取得 const form = document.forms[0]; //form要素にtype="hidden"のinputタグを挿入 form.insertAdjacentHTML( 'beforeend', '<input type="hidden" value="test">' );
ininsertAdjacentHTML
では第1引数でHTMLタグの挿入位置を指定します。指定することができる値は下記の通りです。
値 | 説明 |
---|---|
beforebegin | 要素の直前にHTMLタグを挿入する |
afterbegin | 最初の子要素の前にHTMLタグを挿入する |
beforeend | 最後の子要素の後にHTMLタグを挿入する |
afterend | 要素の直後にHTMLタグを挿入する |
下記の記事で詳しく解説していますので、参考にしていただければ幸いです。
createElementで要素を生成して追加する
createElement
で要素を生成し、setAttribute
で属性を追加します。要素の追加する方法としてcreateElement
は良く使用されます。createAttribute
を併用することが多いですが、ここでは特定の要素にのみ属性を指定するためsetAttribute
を使用しています。
//ドキュメント上の最初のフォームを取得 const form = document.forms[0]; //input要素を生成 const input = document.createElement('input'); //input要素にtype属性とvalue属性を設定 input.setAttribute('type', 'hidden'); input.setAttribute('value', 'test'); //form要素の末尾に挿入 form.appendChild(input);
Object.assign()で属性を設定する
前項の内容を少し変更し、属性をObject.assing()
で設定してみます。Object.assign()
はコピー元オブジェクト→コピー先オブジェクトに複数のプロパティをコピーすることができるメソッドです。扱いには注意が必要ですが、プロパティを列挙することができるため、一度に多くのプロパティを設定したりする処理に向いているメソッドです。
//ドキュメント上の最初のフォームを取得 const form = document.forms[0]; //input要素を生成 const input = document.createElement('input'); //input要素にtype属性とvalue属性を設定 Object.assign(input, { type: 'hidden', value: 'test', }); //form要素の末尾に挿入 form.appendChild(input);
詳しい解説は下記ページをご参照ください。IE11やレガシーブラウザには対応していないので、その点ご留意ください。
最後に
本記事ではform
にinput
要素を追加する方法を解説させていただきましが、form
にinput
要素を追加するだけではなく、他の要素に追加する場合にも応用が利く方法です。 特にinsertAdjacentHTML
とcreateElement
は頻繁に使用するメソッドですので、使い方を覚えておくと良いかもしれませんね。
以上、JavaScriptでformにtype="hidden"のinput要素を追加する方法のご紹介でした!
JavaScriptを基礎からしっかりと学びたい方へ
下記の参考書がおすすめです。私がJavaScript入門時に購入した書籍で、基礎から応用まで多様なサンプルを用いて解説されています。ページ数は多いですが、内容が伴っているのですらすら読めます。腰を据えて学びたい方に最良の一冊となっています。