お問い合わせフォームに送信ボタンはあるけど、内容確認にチェックを入れないと送信ボタンをクリックできないようにしたい場合などがあります。
今回はjQueryのdisabled属性を使ってチェックを入れたらボタンを有効化・無効化する方法を解説していきたいと思います。
jQueryの使い方はこちらの記事を参照下さい。
【初心者向け】jQueryとは?CDNを使った本体の読み込み方も分かりやすく解説
続きを見る
- 完全無料
- 30日間でWeb制作を学べる
- 現役エンジニアへの質問無制限
- オンラインの動画学習なので時間場所を問わず勉強可能
- 最大4回の学習サポート面談
- 毎日人数制限ありの先着制
(有料になっていたらすいません🙇♂️)
jQueryのdisabled属性を使いチェックしたらボタンを有効化・無効化させる方法
まずはHTMLでチェックボタンと送信ボタンを書きます。
<!-- チェックボタン -->
<label>
<input id="check" type="checkbox" />
<span>送信内容を確認しました。</span>
</label>
<!-- 送信ボタン -->
<input
id="button"
class="button"
disabled="disabled"
type="submit"
name="submit"
value="送信"
/>
CSSで送信ボタンのデザインをカスタマイズ
次はCSSでボタンをカスタマイズします。
.button {
background-color: #c1c1c1;
border-radius: 5px;
color: #fff;
display: block;
font-size: 16px;
font-weight: bold;
margin: 25px;
padding: 20px 60px;
}
チェックボックスにチェックを入れたらボタンの色が変わるようにするので、ここではチェックを入れる前の色を『background-color』で設定しています。
jQueryのdisabled属性で送信ボタンの有効化と無効化の切り替えを設定
最後にjQueryです。
$("#check").change(function () {
// チェックが入っていたら有効化
if ($(this).is(":checked")) {
// ボタンを有効化
$("#button").prop("disabled", false);
// 有効化したらボタンの色を変える
$("#button").css({ "background-color": "#fb8a00" });
} else {
// ボタンを無効化
$("#button").prop("disabled", true);
// 無効化したらボタンの色を戻す
$("#button").css({ "background-color": "#c1c1c1" });
}
});
今回はチェックボックスにチェックが入ると有効化してボタンの色を変えましたが、フォントサイズを変えたりすることも出来ます。
それでは実際のボタンを見てみましょう。
See the Pen
vYNzZyB by junpei (@junpei-sugiyama)
on CodePen.
無効化と有効化でクリックすると、色が変わっただけではないことが分かると思います。
jQueryを使わずJavaScriptで実装
最後にjQueryを使わずにJavaScriptで実装してみたいと思います。
See the Pen
チェックを入れると送信ボタンが有効化(javascript) by junpei (@junpei-sugiyama)
on CodePen.
これも基本的な考え方はjQueryの時と同じです。
まとめ
今回はチェックをしたらボタンを有効化・無効化させる方法を解説しました。
お問い合わせフォームでよくある実装なので、出来るようになっておきましょう。
以上になります。