作って学べる
プログラミング講座
アプリを作りながら学習
自分のペースですぐに始められる
困ったら何回でも質問可能
リファレンス

<button>要素の使い方・サンプルコード

Sara

<button>

<button>要素は、ボタンを作成することができます。

type 属性の値によって

  • 汎用的なボタン
  • フォームの送信ボタン
  • フォームのリセットボタン

を作成することができます。

デモ:button要素

属性

autofocus

ページの読み込みが完了したときに、この属性を持った button 要素にフォーカスします。論理属性です。

フォーム内の一つの要素だけに指定できます。

HTML

<button type="button">通常のボタン</button>
<button type="button" autofocus>Autofocusボタン</button>

実行結果

disabled

ユーザーがボタン要素を押すことができないようにします。論理属性です。

disabled を指定するとボタンの色が薄くなります。

HTML

<button type="button">通常のボタン</button>
<button type="button" disabled>Disabledボタン</button>

実行結果

form

関連付けたい form 要素の id を指定します。

この属性を指定しない場合は親要素に form 要素が存在すればその form 要素に関連付けられます。

form 属性を指定することで form 要素の子要素に button 要素を置かなくても、同じ HTML 文書中にあるフォームに button 要素を関連付けることができます。 

以下のサンプルでは、1 行目の button 要素をフォーム送信ボタンとして使うことができます。

<button type="submit" form="myForm">送信</button>

<form method="get" id="myForm">
  <div>
    <label for="user_name">お名前:</label>
    <input id="user_name" type="text" name="name" placeholder="お名前を入力" autofocus>
  </div>
</form>

formaction

ボタンの type 属性を submit としてフォーム送信ボタンとして使う場合に、送信先 URL を指定します。

このボタンが属する form 要素の action 属性に指定した URL に上書きされます。

以下のサンプルでは「送信」ボタンを押すと sample.php ではなく sample2.php にデータが送信されます。

<form method="get" action="sample.php">
  <div>
    <label for="user_name">お名前:</label>
    <input id="user_name" type="text" name="name" placeholder="お名前を入力">
  </div>
  <button type="submit" formaction="sample2.php">送信</button>  
</form>

formenctype

ボタンの type 属性を submit として、このボタンをフォーム送信ボタンとして使う場合に、送信するデータの MIME タイプを指定します。

このボタンが属する form 要素の enctype 属性に指定した値に上書きされます。

application/x-www-form-urlencoded(初期値)URL エンコードしてデータを送信します。
multipart/form-data<input> 属性で file を指定した要素がある場合に使用します。
text/plainテキストとしてデータを送信します。(主にデバッグ目的で使用)

formmethod

ボタンの type 属性を submit として、このボタンをフォーム送信ボタンとして使う場合に、データを送信する方法を指定します。

このボタンが属する form 要素の method 属性に指定した値に上書きされます。

postフォームのデータをボディに収めてサーバーに送信します。
get? をセパレーターとして、クエリ文字列としてデータを送信します。
例)https://sample.com?id=123&name=yamada

以下のサンプルでは get メソッドでフォームが送信されます。

<form method="post" action="sample.php">
  <div>
    <label for="user_name">お名前:</label>
    <input id="user_name" type="text" name="name" placeholder="お名前を入力">
  </div>
  <button type="submit" formmethod="get">送信</button>  
</form>

formnovalidate

ボタンの type 属性を submit として、このボタンをフォーム送信ボタンとして使う場合に、データを検証しないことを指定します。論理属性です。

このボタンが属する form 要素の novalidate 属性に指定した値に上書きされます。

formtarget

ボタンの type 属性を submit として、このボタンをフォーム送信ボタンとして使う場合に、データを送信した後に表示する画面の表示方法を指定します。

このボタンが属する form 要素の target 属性に指定した値に上書きされます。

属性値
_self(既定値)表示中のページと同じウィンドウにリンク先のページを表示します。
_blank新しいタブ・ウィンドウでリンクを開きます。
_parent現在閲覧中のタブ・ウィンドウの親コンテキストにリンク先のページを読み込みます。親がない場合は _self と同じ動きをします。
_topトップレベル(親を持たない)の閲覧コンテキストにリンク先のページを読み込みます。親がない場合は _self と同じ動きをします。

name

value 属性の値とセットでフォームのデータとして送信されます。どのボタンが押されたのか特定する時などに使うことができます。

以下のサンプルでは http://localhost/sample.php?name=山田&btn=12345 のように値が送信されます。

<form method="get" action="sample.php">
  <div>
    <label for="user_name">お名前:</label>
    <input id="user_name" type="text" name="name" placeholder="お名前を入力">
  </div>
  <button type="submit" name="btn" value="12345">送信</button>  
</form>

type

ボタンを押したときの動作を指定します。

button押されても何も動作しないボタンです。JavaScript などでボタンが押されたときの処理を付けることができます。
resetフォームに入力されたデータをリセットします。
submit(既定値)フォームに入力されたデータを送信するボタンになります。

value

name 属性の値とセットで value 属性の値をフォームのデータとして送信することができます。
どのボタンが押されたのか特定する時などに使うことができます。

以下のサンプルでは http://localhost/sample.php?name=山田&btn=12345 のように値が送信されます。

<form method="get" action="sample.php">
  <div>
    <label for="user_name">お名前:</label>
    <input id="user_name" type="text" name="name" placeholder="お名前を入力">
  </div>
  <button type="submit" name="btn" value="12345">送信</button>  
</form>

グローバル属性

全ての HTML に共通して使用できるグローバル属性はこちら

使用例

例① フォームの送信ボタン・リセットボタンを作成

HTML

<form method="post" action="sample.php">
  <div>
    <label for="user_name">お名前:</label>
    <input id="user_name" type="text" name="name" placeholder="お名前を入力">
  </div>
  <div>
    <label for="user_tel">電話番号:</label>
    <input id="user_tel" type="tel" name="tel" placeholder="電話番号を入力">
  </div>
  <button type="reset">入力項目をリセット</button> 
  <button type="submit">送信</button>
</form>

実行結果

例② 画像を使ったボタンを作成

HTML

<button type="submit"></button>

<style>
button {
  width: 120px;
  height: 36px;
  border: none;
  background: #fff url(btn.png) no-repeat center/cover;
}
</style>

実行結果

対応ブラウザ

関連するタグ

HTML タグ一覧はこちら

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
ABOUT ME
Sara
書籍やオンライン講座でプログラミングを勉強してフリーランスのプログラマーになりました。
このサイトでは「わかりやすく・シンプル」をモットーに、プログラミングの基礎からアプリ開発まで紹介します。
独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています。
主な使用言語:Java / Kotlin / PHP
>> 詳しいプロフィールはこちら
>> 書籍を出版しました!
>> お問い合わせはこちら
本格的に学びたい方へ

Code for Fun プログラミング講座

Code for Fun プログラミング講座では、プログラミングの基礎からアプリ開発まで学ぶことができます。

わかりやすく・シンプルをモットーに

  • 同じコードを書けば必ず完成できること
  • 専門用語を使いすぎないこと

を重視しています。

POINT 01

動くコード

プログラミングの文法だけを学んでも、そこから動くアプリを開発をするのは難しいです。

Code for Fun のプログラミング講座では、ゲームやカレンダーなど「アプリとして機能するもの」を作りながらプログラミングを学ぶことができます。

POINT 02

自分のペースで

オンライン講座なので、ご自身のペースで学習を進めて頂けます。

分からないことがあっても、前のレッスンに戻ることができるので安心です。

お申し込みしたその日からからすぐに始めることができます。

POINT 03

個別サポート

プログラミング学習では、エラーが起きることはよくあります。そんな時はお気軽にお問い合わせください!

コメント欄またはメールによるサポートを回数無制限でご利用頂けます。(*講座に関連するご質問のみ対応)

今すぐ無料でお試し

0
この記事にコメントするx
記事URLをコピーしました