JavaScript の記述方法のサンプルを挙げてみます。
今回は、JavaScript の 便利な記述方法についてのサンプルを紹介します。
なお、未経験からITエンジニアへの就職に興味がある方や未経験からプログラミングを効率よく学びたいと考えている方は、就職率98.3%で受講料無料のプログラミングスクールプログラマカレッジもおすすめです。
ブラウザの「 戻る 」機能と同じ動きをさせたい場合は、「 history.back() 」という命令を使用します。
リンクやボタンをクリックして 他のページを開いた後、元のページへ戻るリンクは、次のように記述します。
<a href="javascript:history.back()">戻る</a>
通常のリンクと同様に、img 要素を使用して 戻るリンクを作成することもできます。
<a href="javascript:history.back()"><img src="画像ファイル.jpg" /></a>
リンクではなく、戻るボタンを作成する場合も同様です。
<input type="button" value="戻る" onClick="javascript:history.back()">
リンク元のページから 新しいウィンドウを開いた場合等は、戻るページがないので この機能が使えません。
このような場合を想定して、「 閉じる 」機能も用意しておくと親切です。
戻るページがあるかどうかを判断して、「 戻る 」機能と「 閉じる 」機能を切り替えることができます。
<script type="text/javascript">
if (history.length > 1) {
document.write("<a href='javascript:history.back()'>戻る</a>");
} else {
document.write("<a href='javascript:self.close()'>閉じる</a>");
}
</script>
「 history.length 」で、履歴の数を取得することができます。
history.length が 2 以上の場合は、戻るページがあるということになります。
トップページへのリンク等、特定のページへ遷移させたい場合は、「 document.location 」を使用して 表示するページを指定します。
リンクやボタンをクリックして 他のページを開いた後、元のページへ戻るリンクは、次のように記述します。
<input type="button" value="トップへ" onClick="document.location='index.html';">
上記では、input タグ内の onClick イベントに命令を直接記述していますが、ユーザー定義関数を呼び出して処理を行う場合は、次のように記述します。
<script type="text/javascript">
function goTop() {
document.location = "index.html";
}
</script>
<input type="button" value="トップへ" onClick="goTop()">
このようにユーザー定義関数を作成しておくと、1 つの命令文を複数の場所で使用できたり、複雑な処理も記述しやすくなります。
また、仕様変更等のメンテナンス作業も効率良く行うことができます。
ラジオボタンの選択内容によって処理を分岐させます。
どちらかを選択後、送信ボタンをクリックしてみて下さい。
上のサンプルのソースコードは次の通りです。
<script type="text/javascript">
function disp() {
//ラジオボタン「 OK 」の状態を取得
let ok = document.getElementById("rbOk");
//okの内容がchecked(ラジオボタン「 OK 」が選択された状態)かどうかで条件分岐
if (ok.checked) {
alert("「 OK 」が選択されました!");
} else {
alert("「 NG 」が選択されました!");
}
}
</script>
<div style="background-color : #CCC; padding : 20px;">
<div style="display:inline-flex; align-items: center;">
<input type="radio" id="rbOk" name="rb"> OK
<input type="radio" id="rbNg" name="rb" checked> NG
<input type="button" value="送信" onClick="disp()">
</div>
</div>
document.getElementById メソッドで ラジオボタンの id 名を指定して、そのラジオボタンの状態を取得しています。
選択されているラジオボタンの状態は「 document.getElementById(“id名”).checked 」が「 true 」となるので、そのまま条件として使用できます。
次のサンプルは、入力欄にフォーカスが当たった場合に テキストが全選択されるように動きます。
STARTボタンをクリック後、タブ( Tab キー )をクリックして、フォーカスを移動させてみて下さい。
上のサンプルのソースコードは次の通りです。
<script type="text/javascript">
function fStart() {
document.getElementById("fId(0)").focus();
document.getElementById("fId(0)").select();
}
function fNext(num) {
// 最後の入力欄でタブキーがクリックされた場合
if (num == 2) {
if(event.keyCode == 13 || event.keyCode == 9 ){
//キー入力を無効にする
event.returnValue = false;
//最初の入力項目にフォーカス当てる
document.getElementById("fId(0)").focus();
document.getElementById("fId(0)").select();
}
} else {
if(window.event.keyCode == 13){
window.event.keyCode = 9;
}
let str = "fId(" + (num) + ")";
document.getElementById(str).focus();
document.getElementById(str).select();
}
}
</script>
<div style="background-color : #CCC;">
<input type="button" value="START" onClick="fStart()">
<input type="text" id="fId(0)" value="ID" onkeydown="fNext(0)">
<input type="text" id="fId(1)" value="PASSWORD" onkeydown="fNext(1)">
<input type="text" id="fId(2)" value="ペットの名前" onkeydown="fNext(2)">
</div>
「 document.getElementById(“id名”).focus(); 」でフォーカスが当たり、「 document.getElementById(“id名”).select(); 」で 入力欄の場合は入力されたテキストが全選択されます。
大量の入力作業があるページ等で実装しておくと、親切です。
INTERNOUS,inc. All rights reserved.