HTML DOM inputボタンのformプロパティとは?使い方とサンプルコードを解説
HTML DOMにおけるinput(type="button")要素のformプロパティは、その入力ボタンを囲んでいる<form>要素への参照を返します。このプロパティを利用することで、JavaScriptから「クリックされたボタンがどのフォームに属しているのか」を簡単に判別できます。
構文
formプロパティの基本構文は次のとおりです。
object.form
サンプルコード
それでは、inputボタンのformプロパティの具体的な使用例を見てみましょう。このサンプルでは、2つのフォームにそれぞれ2つのボタンを配置し、クリックされたボタンが属するフォームを判定してメッセージとして表示します。
<!DOCTYPE html>
<html>
<head>
<title>HTML DOM formプロパティ</title>
<style>
body{
text-align:center;
}
.btn{
display:block;
margin:1rem auto;
background-color:#db133a;
color:#fff;
border:1px solid #db133a;
padding:0.5rem;
border-radius:50px;
width:20%;
}
.show-message{
font-weight:bold;
font-size:1.4rem;
color:#ffc107;
}
</style>
</head>
<body>
<h1>formプロパティの使用例</h1>
<form id="form1">
<fieldset>
<legend>フォーム1</legend>
<input type="button" class="btn" value="ボタン1">
<input type="button" class="btn" value="ボタン2">
</fieldset>
</form>
<form id="form2">
<fieldset>
<legend>フォーム2</legend>
<input type="button" class="btn" value="ボタン1">
<input type="button" class="btn" value="ボタン2">
</fieldset>
</form>
<div class="show-message"></div>
<script>
var btnArr= document.querySelectorAll(".btn");
var showMessage= document.querySelector(".show-message");
btnArr.forEach((ele)=>{
ele.addEventListener("click",(e)=>{
showMessage.innerHTML="";
if(e.target.form.id === 'form1'){
showMessage.innerHTML="私はフォーム1のボタンです";
} else {
showMessage.innerHTML="私はフォーム2のボタンです";
}
})
});
</script>
</body>
</html>
実行結果
上記のコードを実行すると、次のような出力が得られます。

まず、フォーム1内の「ボタン1/ボタン2」をクリックしてみます。

続いて、フォーム2内の「ボタン1/ボタン2」をクリックすると、表示されるメッセージが切り替わります。

ポイント解説
このサンプルのポイントは、クリックイベントのイベントオブジェクト(e)からe.target.form.idを参照している点です。e.targetはクリックされたボタン要素そのものを指し、その.formプロパティによって親となるフォームオブジェクトが取得できます。さらに.idでフォームのIDを比較することで、ボタンがどちらのフォームに属しているかを動的に判定しています。
このようにformプロパティを活用すれば、同じページ内に複数のフォームがある場合でも、共通のイベント処理の中で柔軟に分岐処理を実装できます。
-
HTML DOMのInput Text formプロパティとは?使い方とサンプルコードを解説
HTML DOMのInput Text formプロパティは、対象となるテキスト入力フィールド(input type=text)が属しているフォームへの参照を取得するために使用されます。もしテキストフィールドがどのフォームにも含まれていない場合は、nullが返されます。なお、このプロパティは読み取り専用です。つまり、値を参照することはできますが、JavaScriptから直接書き換えることはできません。構文Input Text formプロパティの基本的な構文は以下のとおりです。textObject.formサンプルコードここでは、実際にformプロパティを使って、テキストフィールドが所属するフ
-
HTML DOM Input Radioのformプロパティとは?使い方とサンプルコードを解説
HTML DOMのInput Radioオブジェクトにおけるformプロパティは、指定されたラジオボタンが属するフォーム(form要素)への参照を返すために使用されます。もしラジオボタンがどのフォームにも含まれていない場合は、NULLを返します。このプロパティは読み取り専用です。 構文 Input Radioのformプロパティの構文は以下のとおりです。 radioObject.form 使用例 ここで、Input Radioのformプロパティを使った具体的な例を見てみましょう。 <!DOCTYPE html> <html> <body> <h1&g