• ベストアンサー

チェックボックスにチェックして文字(リンク)表示

チェックボックスにチェックを入れると文字が表示され、 さらにその文字に別窓にとぶリンクを貼りたいです。 下記ページを参考に作成しているのですが、java初心者のため 上手く記述できません。 <参考ページ> http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1458650604 どのように記述すればよいですか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

No.1です。 > 回答して頂いたソースで上手く出来なかったので、作成しなおしました。 上手く出来なかった理由を教えていただけると対応もしやすいのですが…。 「if(document.getElementById)」はブラウザがJavaScript関数を サポートしているかチェックなので、チェックボックスのON/OFFとは関係ありません。 チェックを変えた時に動作するのは、単に関数が呼ばれたからです。 こんな感じでできると思いますよ。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Language" content="ja"> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <meta http-equiv="Content-Script-Type" content="text/javascript"> </head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript"> <!-- function show_html(check) { if (check.checked) { document.getElementById("url").innerHTML = '<a href="./index.html"target="_blank">・A<\/a>';} else {document.getElementById("url").innerHTML = '';} if (check.checked) { document.getElementById("url2").innerHTML = '<a href="./index.html"target="_blank">・B<\/a>';} else {document.getElementById("url2").innerHTML = '';} if (check.checked) { document.getElementById("url3").innerHTML = '<a href="./index.html"target="_blank">・C<\/a>';} else {document.getElementById("url3").innerHTML = '';} if (check.checked) { document.getElementById("url4").innerHTML = '<a href="./index.html"target="_blank">・D<\/a>';} else {document.getElementById("url4").innerHTML = '';} if (check.checked) { document.getElementById("url5").innerHTML = '<a href="./index.html"target="_blank">・E<\/a>';} else {document.getElementById("url5").innerHTML = '';} } function show2_html(check) { if (check.checked) { document.getElementById("url6").innerHTML = '<a href="./index.html"target="_blank">・F<\/a>';} else {document.getElementById("url6").innerHTML = '';} if (check.checked) { document.getElementById("url7").innerHTML = '<a href="./index.html"target="_blank">・G<\/a>';} else {document.getElementById("url7").innerHTML = '';} } // --> </script> <title>sample</title> </head> <body> <br> <input type="checkbox" onClick="show_html(this);">H<br> <span id="url"> </span><br> <span id="url2"> </span><br> <span id="url3"> </span><br> <span id="url4"> </span><br> <span id="url5"> </span><br> <input type="checkbox" onClick="show2_html(this);">I<br> <span id="url6"> </span><br> <span id="url7"> </span><br> </body> </html>

ai0908
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 ご丁寧な回答ありがとうございました。

その他の回答 (1)

回答No.1

こんな感じでしょうか? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript"> <!-- function checkChange(val){ if(val.checked) { document.getElementById("linkField").style.display = "block"; } else { document.getElementById("linkField").style.display = "none"; } } //--> </script> <title>sample</title> </head> <body> <input type="checkbox" onchange="checkChange(this)" checked> <div id="linkField"><a href="#junp">リンク</a></div> <br/> ココに上下にある改行コードをたくさん入れると分かりやすいかも? <br/> <div id="junp">飛び先</div> </body> </html> ちなみに、JavaとJavaScriptは全然別物です。 JavaScriptを短縮してJavaと呼んでいるワケではないので、注意しましょう。

ai0908
質問者

補足

早々に回答頂きありがとうございます。 回答して頂いたソースで上手く出来なかったので、作成しなおしました。 しかし、一回チェックを入れて、チェックをはずすと更新しないと文字が消えません。 よろしければ再度アドバイスお願いします。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Language" content="ja"> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <meta http-equiv="Content-Script-Type" content="text/javascript"> </head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript"> <!-- function show_html() { if (document.getElementById) { document.getElementById("url").innerHTML = '<a href="./index.html" target="_blank">・A<\/a>'}; if (document.getElementById) { document.getElementById("url2").innerHTML = '<a href="./index.html" target="_blank">・B<\/a>'}; if (document.getElementById) { document.getElementById("url3").innerHTML = '<a href="./index.html" target="_blank">・C<\/a>'}; if (document.getElementById) { document.getElementById("url4").innerHTML = '<a href="./index.html" target="_blank">・D<\/a>'}; if (document.getElementById) { document.getElementById("url5").innerHTML = '<a href="./index.html" target="_blank">・E<\/a>'} } function show2_html() { if (document.getElementById) { document.getElementById("url6").innerHTML = '<a href="./index.html" target="_blank">・F<\/a>'}; if (document.getElementById) { document.getElementById("url7").innerHTML = '<a href="./index.html" target="_blank">・G<\/a>'} } // --> </script> <title>sample</title> </head> <body> <br> <input type="checkbox" onClick="javascript:show_html();">H<br> <span id="url"> </span><br> <span id="url2"> </span><br> <span id="url3"> </span><br> <span id="url4"> </span><br> <span id="url5"> </span><br> <input type="checkbox" onClick="javascript:show2_html();">I<br> <span id="url6"> </span><br> <span id="url7"> </span><br> </body> </html>

関連するQ&A