![]()
![]()
![]()
JavaScriptの簡単なメモ
LastUpdate : 08/12/14
JavaScriptについて調べたことやってみたこと、すんごい基本的なことなんかを書いてみます。内容については随時追加予定・・・。
ここに記述したJavaScriptについては、 Firefox2.0.0.16 にて動作確認を一応しています。
HTMLのHEADタグ内や、BODYの中(本文の中)や、外部ファイルにJavaScriptを記述し、それをHTML内に読み込ませたりできる様子。
以下、例。
| Javascriptの記述と呼び出しのサンプル |
<html>
<head>
<title>Javascriptのテスト</title>
<script type="text/javascript" src="js_test.js"></script>
<script type="text/javascript">
<!--
function local_msg_write()
{
document.write("<font color=\"orange\">Javascriptにてメッセージを出力しています。</font>")
}
//-->
</script>
</head>
<body>
<!-- bodyの中に埋め込みされたJavascript -->
<script type="text/javascript">
<!--
document.write("Javascriptのテストページですよ。");
//-->
</script>
<!-- headにて定義された関数の呼び出しを行うJavascript -->
<script type="text/javascript">
<!--
write_msg();
//-->
</script>
<!-- このhtmlファイルと同じ階層にあるjs_test.jsというファイルの中にて定義された関数を呼び出すJavascript -->
<script type="text/javascript">
<!--
local_msg_write();
//-->
</script>
</body>
</html>
|
| js_test.js |
/**
* 文字列を出力します。
*/
function write_msg()
{
document.write("<p><font color=\"blue\">こんにちは。外部に保存したJavascriptファイルの関数です。</font></p>");
}
|
実行結果は以下のようになります。

Javscriptをブラウザの設定などでOFFにしていた場合、ユーザに警告メッセージを表示します。
| Javascriptに対応していない場合、警告メッセージを表示します |
<html>
<head>
<title>Javascriptのテスト2</title>
</head>
<body>
<script type="text/javascript">
<!--
document.write("JavascriptがOFFだと表示されないよ!");
//-->
</script>
<noscript>
<p>
<font color="orange">javascriptをONにしてください。正しく表示されませんよ?w</font>
</p>
</noscript>
<p>Javascriptのテストのページです。その2</p>
</body>
</html>
|
実行結果

今回は実行結果もみてみたいため、Servletもついてます(本当はperlでCGIを作ろうとしたが、マシンにその環境がインストールされてなかったw
サーブレットについては、単純に、どのようなデータが送信されたか調べたかっただけなので、解説は簡単なものだけですw
サーブレットについて:
「 index.jsp 」を最初に表示し、そこでボタンを押すと、サーブレットに処理がわたり(この処理を担当するのが「 ServletTest.java 」)、画面が遷移し、「 main.jsp 」画面が表示されます(この画面にサーブレットの実行結果が出力される)。
今回作成したファイルは以下のもの:
index.jsp
ServletTest.java
main.jsp
今回作成したファイルはjspファイルですが、実行結果はHTMLファイルになるため、index.jspの実行結果を載せます。
| index.jspの実行結果 |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-31j">
<title>テストページです</title>
<script type="text/javascript">
<!--
function post_action()
{
//文字列をセット
document.opt1_form.name_value.value="送信用に文字列をセット"
//年月日を取得
var date = new Date();
document.opt1_form.submit_date.value = date.getFullYear() + '/' + (date.getMonth()+1) + '/' + date.getDate();
//送信を行う。
document.opt1_form.submit();
return false;
}
//-->
</script>
</head>
<body>
テストのページです。
<form method="POST" action="/ServletTest/ServletTest">
<input type="text" name="text1" size="50" value="テストのメッセージですよー">
<input type="hidden" name="send_option1" value="optionですよ">
<br>
<input type="submit" value="送信">
<input type="hidden" name="sample" value="test!!">
<p>
<input type="button" value="Javascriptでsumit" onClick="post_action()">
</p>
</form>
<form name="opt1_form" method="POST" action="/ServletTest/ServletTest" target="_blank">
<input type="hidden" name="name_value" value="">
<input type="hidden" name="submit_date" value="">
</form>
</body>
</html>
|
submitボタンもありつつ、buttonで、javasscriptを呼び出すもの、二つのタイプがあります。両者、使用するformが異なるため、送信されるデータも異なるはずです。
また、buttonでjavascriptを呼び出すほうは、targetに_blankを指定することで、送信のレスポンスを、新しいウインドウに表示するようにしています。
index.jspを表示させると以下のような画面になります。

まず、「送信」ボタンを押下した場合(画面が普通に遷移するパターン)の実行結果は以下のとおりです。

そして、「Javascriptでsubmit」ボタンを押下した場合(javascriptでsubmitし、送信するフォームも上記とは異なる)の実行結果は以下のとおりです。

このように、ウインドウが新しく開き、実行結果がそこへ出力されます。
以上にように、送られるフォームの内容が異なる点も注目すべき点です。