Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【HTML Living Standard】button要素の使い方

button要素の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

buttonオブジェクトは、ウェブページ上でユーザーが操作するためのクリック可能なボタンを表すオブジェクトです。この要素は、ユーザーからの入力を受け付け、特定の処理をトリガーするインタラクティブなユーザーインターフェースコンポーネントとして機能します。

主な用途としては、フォームデータの送信、フォーム入力のリセット、またはJavaScriptコードを実行するためのトリガーなどが挙げられます。button要素は、その振る舞いを決定するtype属性を持ちます。type属性には主に三つの値があります。submitを指定すると、ボタンがクリックされたときにフォームデータをサーバーに送信します。resetを指定すると、フォーム内のすべての入力を初期状態に戻します。そして、buttonを指定すると、デフォルトでは何も実行せず、JavaScriptを用いて任意の処理を割り当てることができます。type属性が省略された場合は、submitとして扱われます。

また、button要素は開始タグと終了タグを持ち、その間にテキストだけでなく画像やアイコンなどのHTMLコンテンツを自由に配置できるため、視覚的に豊かなボタンを作成することが可能です。これにより、ユーザーに対してより明確なアクションを提示できます。

さらに、disabled属性を設定することで、ボタンを一時的に無効化し、ユーザーからの操作を受け付けなくすることもできます。これは、特定の条件が満たされるまでボタンを押させたくない場合などに利用されます。name属性とvalue属性は、type="submit"の場合にフォーム送信データとしてサーバーに送られる情報を定義します。

buttonオブジェクトは、ウェブアプリケーションのユーザーインターフェースを構築する上で不可欠な要素であり、ユーザーエクスペリエンスを向上させる上で重要な役割を果たしています。

公式リファレンス: <button>: The Button element

構文(syntax)

1<button type="button">ボタンのテキスト</button>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

サンプルコード

HTML button disabled属性で操作を無効化する

1<!DOCTYPE html>
2<html lang="ja">
3<head>
4    <meta charset="UTF-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
6    <title>HTML Button Disabled Example</title>
7</head>
8<body>
9    <!-- このボタンは通常の状態であり、クリック可能です。 -->
10    <button type="button">クリックできます</button>
11
12    <br><br>
13
14    <!-- このボタンは 'disabled' 属性が付与されているため、無効化されておりクリックできません。 -->
15    <button type="button" disabled>クリックできません</button>
16</body>
17</html>

HTMLのbutton要素は、ウェブページ上でユーザーが操作するためのクリック可能なボタンを作成する際に使用されます。この要素は、プログラミング言語の関数が持つ「引数」や「戻り値」といった概念とは異なり、直接的な引数や戻り値は存在しません。代わりに、「属性」を付与することで、その振る舞いや見た目を制御します。

サンプルコードでは、type="button"が指定されています。これは、ボタンが特別な役割(例えばフォーム送信など)を持たず、一般的なクリック可能なボタンとして機能することを意味します。このbutton要素には、特定の状態を示す属性を付与できます。

特に重要な属性の一つがdisabled属性です。この属性がbutton要素に付与されると、そのボタンは無効化され、ユーザーはクリック操作を行うことができなくなります。同時に、無効化されたボタンは、通常、視覚的にもグレーアウトするなどして、操作できない状態であることが明確に示されます。この機能は、フォームの入力が完了するまで送信ボタンを無効にしておくなど、ユーザーインターフェースの制御において非常に有用です。

サンプルコードの最初のボタンはdisabled属性を持たないため、通常通りクリックできる状態です。対照的に、2番目のボタンにはdisabled属性が付与されているため、クリックできない無効な状態であることが確認できます。このように、disabled属性はボタンの有効・無効を簡単に切り替える機能を提供します。

HTMLのbutton要素にdisabled属性を付与すると、そのボタンは無効化され、ユーザーはクリックやフォーカスができなくなります。これは、フォーム入力が完了していない場合や、データ送信などの処理が進行中の際に、ユーザーの誤操作を防ぐために非常に重要な機能です。

サンプルコードのようにtype="button"と指定されたボタンは、クリックしてもフォーム送信は行われません。もしフォームを送信したい場合はtype="submit"を指定しますが、disabled属性の動作は同様に適用されます。

実務では、JavaScriptを用いてユーザーの操作状況やデータの状態に応じて、このdisabled属性を動的に追加したり削除したりして、ボタンの有効・無効を切り替えるのが一般的です。これにより、ユーザーインターフェースの使いやすさと安全性を向上させることができます。

HTML button onclick イベントを処理する

1<!DOCTYPE html>
2<html lang="ja">
3<head>
4    <meta charset="UTF-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
6    <title>HTML Button with OnClick Event</title>
7    <style>
8        /* 見やすいように簡単なスタイルを追加 */
9        body {
10            font-family: Arial, sans-serif;
11            display: flex;
12            flex-direction: column;
13            align-items: center;
14            justify-content: center;
15            min-height: 100vh;
16            margin: 0;
17            background-color: #f4f4f4;
18        }
19        button {
20            padding: 10px 20px;
21            font-size: 16px;
22            cursor: pointer;
23            border: none;
24            border-radius: 5px;
25            background-color: #007bff;
26            color: white;
27            transition: background-color 0.3s ease;
28        }
29        button:hover {
30            background-color: #0056b3;
31        }
32    </style>
33</head>
34<body>
35    <h1>ボタンのクリックイベントの例</h1>
36
37    <!-- ボタン要素を配置。onclick属性にJavaScriptの関数名を指定することで、
38         ボタンがクリックされたときにその関数が実行されます。 -->
39    <button onclick="handleClick()">私をクリック!</button>
40
41    <script>
42        // ボタンがクリックされたときに実行されるJavaScript関数を定義します。
43        function handleClick() {
44            alert('ボタンがクリックされました!');
45        }
46    </script>
47</body>
48</html>

HTMLのbutton要素は、Webページ上にユーザーがクリックできるボタンを配置するための標準的な要素です。この要素は、フォームのデータ送信だけでなく、JavaScriptと連携して様々な処理をトリガーするために広く使用されます。button要素自体は、直接の引数を受け取ったり、特定の戻り値を返したりすることはありません。その表示内容や基本的な動作は、開始タグと終了タグの間に記述されるテキストや、後述する属性によって制御されます。

提供されたサンプルコードでは、button要素にonclickという重要な属性が設定されています。このonclick属性は、ボタンがクリックされた際に実行したいJavaScriptのコードを指定するためのイベントハンドラです。具体的には、onclick="handleClick()"と記述することで、ユーザーがボタンを押すとhandleClick()という名前のJavaScript関数が実行されるように指示しています。

スクリプト部分で定義されているhandleClick()関数は、実行されるとalert('ボタンがクリックされました!')という命令により、ブラウザ上に「ボタンがクリックされました!」というメッセージのポップアップ(アラート)を表示します。このように、button要素とonclick属性、そしてJavaScriptを組み合わせることで、ユーザーの操作に応じて動的にWebページを変化させたり、情報を提供したりするインタラクティブな機能を実現できます。JavaScriptの関数は引数を受け取ったり、処理結果を戻り値として返したりできますが、button要素が直接これらの概念を扱うわけではなく、JavaScriptのイベント処理を通じて間接的に連携する仕組みです。

button要素のonclick属性は、クリック時に実行するJavaScriptコードを指定します。サンプルではhandleClick()関数を呼び出していますが、この関数は<script>タグ内に正しく定義されているか確認が必要です。JavaScriptのスペルミスや構文エラーがあると、ボタンは機能しないため、ブラウザの開発者ツールでコンソールエラーを確認する習慣をつけましょう。また、button要素はデフォルトでフォームの送信ボタンとして機能する場合があります。純粋なクリックイベントとして利用し、意図しないフォーム送信を防ぐためには、<button type="button">のようにtype="button"属性を明示的に指定することを推奨します。これにより、予期せぬ動作を回避し、コードをより安全かつ正確に利用できます。

関連コンテンツ

関連IT用語

関連プログラミング言語