menu
menu

キーワード検索

 

前月(9月)の人気記事トップ10

  1. ( 1-) 【CSS Tips】CSSだけでドロップダウンメニュー
  2. ( 2-) 【CSS Tips】CSSだけでサイズ可変・スマホ対応のアコーディオン
  3. ( 3-) 【HTML5】スマホサイトの作成・基本編
  4. ( 4-) 【CSS Tips】CSSだけでブロック要素の表示非表示(トグルボタン)
  5. ( 7↑) 【jQuery】表示しているブラウザの高さを取得してCSSのheightに指定
  6. ( 5↓) 【jQuery入門】jQueryで日時を表示
  7. (10↑) 【HTML5】HTML5・ページ作成の基本
  8. ( 9↑) 【MySQL】Windows 10にMySQLをインストール
  9. ( 8↓) 【Mac Tips】MacにInkscapeをインストール
  10. ( 6↓) 【CSS Tips】スマホサイト向け横にスクロールするナビゲーション

【フォーム】チェックしたら有効になるリンク

  • Labs

【フォーム】チェックしたら有効になるリンク

こんにちは(・∀・)

今回はラジオボタンやチェックボックスがチェックされたら有効になるリンクボタンのサンプルをご紹介します。

Contents

  1. ラジオボタンのサンプル
  2. 複数チェックボックス用のサンプル
  3. 単一チェックボックス用のサンプル
  4. 単一チェックボックス用のサンプル(input要素)
1. ラジオボタンのサンプル

ラジオボタンをチェックすると「Next」の文字が「Next →」になり、テキストリンクに変わります。

HTML

Google Hosted LibrariesからjQuery 1.x snippetを<head>内に読み込みます。


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<p>
<input type="radio" class="demo1" name="demo1" id="demo1-1" autocomplete="off">
<label for="demo1-1">デモ1</label><br>
<input type="radio" class="demo1" name="demo1" id="demo1-2" autocomplete="off">
<label for="demo1-2">デモ2</label><br>
<input type="radio" class="demo1" name="demo1" id="demo1-3" autocomplete="off">
<label for="demo1-3">デモ3</label>
</p>
<p id="link1">Next</p>
CSS

.sample-demo #link1 {
  color: #999;
}
.sample-demo #link1 a {
  color: red;
}
JavaScript

$(function(){
$(".demo1").click(function(){
if(this.checked){
$("#link1").html("<a href='#'>Next →</a>");
} else {
$("#link1").html("Next");
};
});
});
Result



Next

ラジオボタンにチェックを入れないと「Next」のテキストリンクが有効になりません。次へ進むことができないのでチェックもれを防ぐことができます。

2. 複数チェックボックス用のサンプル

チェックボックスをチェックすると「Next」の文字が「Next →」になり、テキストリンクに変わります。

HTML

Google Hosted LibrariesからjQuery 1.x snippetを<head>内に読み込みます。


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<p class="cb">
<input type="checkbox" class="demo2" name="demo2" id="demo2-1" autocomplete="off">
<label for="demo2-1">デモ1</label><br>
<input type="checkbox" class="demo2" name="demo2" id="demo2-2" autocomplete="off">
<label for="demo2-2">デモ2</label><br>
<input type="checkbox" class="demo2" name="demo2" id="demo2-3" autocomplete="off">
<label for="demo2-3">デモ3</label>
</p>
<p id="link2">Next</p>
CSS

.sample-demo #link2 {
  color: #999;
}
JavaScript

$(function(){
$(".demo2").click(function(){
var ck_count = $(".cb :checked").length;
if (ck_count == 0 ){
$("#link2").html("Next");
} else {
$("#link2").html("<a href='#'>Next →</a>");
}
});
});
Result



Next

チェックボックスにチェックを入れないと「Next」のテキストリンクが有効になりません。次へ進むことができないのでチェックもれを防ぐことができます。

3. 単一チェックボックス用のサンプル

こちらもチェックボックスのサンプルですが、2番のサンプルと違い、チェックボックスは一つなのでjQueryはもっとシンプルになります。よくある「~に同意したら次へ進む」的なページで使えると思います。こちらも同じくチェックボックスをチェックすると「送信」の文字がテキストリンクに変わります。

HTML

Google Hosted LibrariesからjQuery 1.x snippetを<head>内に読み込みます。


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<p>
<input type="checkbox" id="demo3" autocomplete="off">
<label for="demo3">利用規約に同意します。</label>
</p>
<p id="link3">送信</p>
CSS

.sample-demo #link3 {
  color: #999;
}
.sample-demo #link3 a {
  color: #fff;
  background: #9fb7d4;
  padding: 3px 15px;
}
.sample-demo #link3 a:hover {
  background: #afc6e2;
}
JavaScript

$(function(){
$("#demo3").click(function(){
if (this.checked) {
$("#link3").html("<a href='#'>送信</a>");
} else {
$("#link3").html("送信");
}
});
});
Result

送信

こちらは単一のチェックボックス用のサンプルです。チェックボックスにチェックを入れないと「送信」のテキストリンクが有効になりません。次へ進むことができないので利用規約等、チェックを入れないと次に進めないようなページで使えると思います。

4. 単一チェックボックス用のサンプル(input要素)

こちらもチェックボックスのサンプルですが、3番のサンプルと違うのは、ボタンがinput要素になりJavaScriptもpropを使います。こちらも同じくチェックボックスをチェックするとinput要素の「送信」ボタンが有効になります。

HTML

Google Hosted LibrariesからjQuery 1.x snippetを<head>内に読み込みます。


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<p class="demo">
<input type="checkbox" id="demo4" autocomplete="off">
<label for="demo4">利用規約に同意します。</label>
<input type="submit" id="link4" value="送信">
</p>
JavaScript

$(function(){
$("#link4").prop("disabled", true);
$("#demo4").click(function(){
if ($(this).prop("checked") == false) {
$("#link4").prop("disabled", true);
} else {
$("#link4").prop("disabled", false);
}
});
});
Result

サンプルデモはこちら

こちらも単一のチェックボックス用のサンプルです。チェックボックスにチェックを入れないとinput要素の「送信」ボタンが有効になりません。次へ進むことができないのでこちらも利用規約等、チェックを入れないと次に進めないようなページで使えると思います。


いかがでしたでしょうか、導入はとても簡単ですね。よろしければお試しください。

関連リンク

input要素【HTMLリファレンス】

  • カテゴリー:Labs