menu
menu

キーワード検索

 

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

  1. ( 1 - ) 【CSS】CSSだけでドロップダウンメニュー
  2. ( 2 - ) 【CSS】CSSだけでサイズ可変・スマホ対応のアコーディオン
  3. ( 3 - ) 【Mac】Macのユーザー名とアカウント名を変更する
  4. (10 ↑) 【Mac】MacにInkscapeをインストール
  5. ( 5 - ) 【HTML5】スマホサイトの作成・基本編
  6. ( 8 ↑) 【jQuery】表示しているブラウザの高さを取得してCSSのheightに指定
  7. ( 6 ↓) 【CSS】CSSだけでブロック要素の表示非表示(トグルボタン)
  8. ( 4 ↓) 【iPhone・iPad】投稿の準備中にエラーが起きました。後でやり直して...
  9. ( - ↑) 【jQuery】jQueryでドロップダウンメニュー
  10. ( - ↑) 【CSS】スマホサイト向け横にスクロールするナビゲーション
このエントリーをはてなブックマークに追加

【JavaScript】チェックしたら有効になるリンクボタン

【JavaScript】チェックしたら有効になるリンクボタン

こんにちは(・∀・)

ラジオボタンやチェックボックスにチェックを入れたら有効になるリンク、こちらの【jQuery】チェックしたら有効になるリンクボタンの方で最初jQuery版のサンプルを作りました。

jQueryプラグインを使わないという最近のマイブーム、新たにネイティブ版でも作ってみようと思い立ち、JavaScript版のサンプルを作りましたのでここでご紹介します。

素直にjQueryを使った方が全然簡単ですが...

Contents

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

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

HTML

<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>
JavaScript

var l1 = document.getElementById('link1');
document.getElementById('demo1-1').addEventListener('click',function(){
if (this.checked) {
l1.innerHTML = '<a href="#">Next →</a>';
}
},false);
document.getElementById('demo1-2').addEventListener('click',function(){
if (this.checked) {
l1.innerHTML = '<a href="#">Next →</a>';
}
},false);
document.getElementById('demo1-3').addEventListener('click',function(){
if (this.checked) {
l1.innerHTML = '<a href="#">Next →</a>';
}
},false);
Result



Next

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

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

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

HTML

<p>
<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>
JavaScript

var s2_1 = document.getElementById('demo2-1');
var s2_2 = document.getElementById('demo2-2');
var s2_3 = document.getElementById('demo2-3');
var l2 = document.getElementById('link2');
s2_1.addEventListener('click',function(){
if (this.checked) {
l2.innerHTML = '<a href="#">Next →</a>';
} else if(s2_2.checked) {
l2.innerHTML = '<a href="#">Next →</a>';
} else if(s2_3.checked) {
l2.innerHTML = '<a href="#">Next →</a>';
} else {
l2.innerHTML = 'Next →';
}
},false);
s2_2.addEventListener('click',function(){
if (this.checked) {
l2.innerHTML = '<a href="#">Next →</a>';
} else if(s2_1.checked) {
l2.innerHTML = '<a href="#">Next →</a>';
} else if(s2_3.checked) {
l2.innerHTML = '<a href="#">Next →</a>';
} else {
l2.innerHTML = 'Next →';
}
},false);
s2_3.addEventListener('click',function(){
if (this.checked) {
l2.innerHTML = '<a href="#">Next →</a>';
} else if(s2_1.checked) {
l2.innerHTML = '<a href="#">Next →</a>';
} else if(s2_2.checked) {
l2.innerHTML = '<a href="#">Next →</a>';
} else {
l2.innerHTML = 'Next →';
}
},false);
Result



Next

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

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

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

HTML

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

var l3 = document.getElementById('link3');
document.getElementById('demo3').addEventListener('click',function(){
if (this.checked) {
l3.innerHTML = '<a href="#">送信</a>';
} else {
l3.innerHTML = '送信';
}
},false);
Result

送信

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

 

いかがでしたでしょうか、jQuery版の【jQuery】チェックしたら有効になるリンクと動作は全く同じになります。よろしければお試しください。

 

にほんブログ村 IT技術ブログ JavaScriptへ

関連リンク

【jQuery】チェックしたら有効になるリンクボタン
input要素【HTMLリファレンス】

  • JavaScript jQuery フォーム 入力判定
このエントリーをはてなブックマークに追加