◆『初体験JavaScript』 訂正・正誤表・追加情報(初版 第1刷,第2刷 発行)◆

 update:2002/08/05

収録ファイル修正(初版および第2刷)

本書,CD-ROM中,「JSLESSON(CD-ROM)\C5\orderform_完成.htm」のファイルにおいて,CSSによる画面アレンジのサンプルとして収録するはずだったものが、手違いで完成版として収録されてしまっていました.これによって,本文でのサンプルプログラムの解説と内容が異なってしまっています.お手数ですが,以下のファイルをダウンロードしてお使いください.

orderform.htm

(保存する場合は,右クリックをして「対象をファイルに保存」を選んでください)


--------------------------------------
正誤表(初版および第2刷まで)

>P30
 Windows → Window
 frame → Frame
 docnment → document
 Buttoa → Button
 Matn → Main ※ビルトインオブジェクト のところです
 Teytearea → Textarea
 location → ※ 枠囲みがありません
 MimeTxpe → MimeType
 Plngin → Plugin


>P50
 formS[0] forms[1] ※ 二つ目のフォームの方です

>P58
 <!-- -->が<!- ->に見える ※ 三箇所あります

>P59
 図中 <! のあとに -- が抜けています

>P60〜61
 どちらが正解ということではなく、それぞれ別のプロパティ/関数を
 参照/呼び出ししています。
 ■window.status = "Hello" は ステータスバーに文字列を設定
 ■window.alert("Hello") は メッセージダイアログを表示

>P75
 小文字)ち0〜9までの…… 小文字)と0〜9までの……

>P83
 アミカケ 下から三つ目と二つ目
 document.write("私の名前は" + myName + "です。<br>")
 ↓
 document.write("私の名前は" + myName + "です<br>")

 "私の名前は" + myName + "です。<br>"
 ↓
 "私の名前は" + myName + "です<br>"

 ※ どちらも文末の「。」を取ってください。

>P117
 コードリスト内 上から17行目
 <br>") <br>"); ※ 行末のセミコロン抜け

>P118
 getHour getHours ※ 図中
 getMinute getMinutes ※ 図中

>P119〜120
 New を すべて new に変更 ※三箇所あります

>P125
 New を すべて new に変更 ※三箇所あります

>P126
 月 日
 木 水 ※一日ずれていました。

>P128
 new Array(5); new Array(24)

>P.142のプログラムにおいて、間違いがありました.お詫びして訂正さ
せていただきます.
 お手数ですが、下記のとおり修正をお願い致します。(関数内のみ抜粋)


function showEstimate() {
 var intPrice=0;

if (document.form1.chkBuy01.checked) {
intPrice= intPrice + (1000 * document.form1.txtNum01.value);
}
if (document.form1.chkBuy02.checked) {
intPrice= intPrice + (1500 * document.form1.txtNum02.value);
}
if (document.form1.chkBuy03.checked) {
intPrice= intPrice + (2000 * document.form1.txtNum03.value);
}

>P234(リスト5-2 3行目)
newWin = window.open(winname + ".htm", "", "width=300, height=200, location=no, menubar=no, toolbar=no, resizable=yes");

newWin = window.open(filename, "", "width=300, height=200, location=no, menubar=no, toolbar=no, resizable=yes");

>P237(リスト5-5 2行目)
return price * number;;

return price * number;
(最後のコロンがダブっているので1つにしてください)

>P242
document.form02.tarEstimate.disabled = true;

document.form02.tarEstimate.value = strEstimate;

--------------------------------------

本文およびCD-ROM収録「Orderform完成.htm」の追加情報

 Internet Explorerでは使用するメーラーにOutlook Express以外のもの
を指定すると、自動的にメール送信が行なわれず、一旦そのメールソフト
が起動されてしまう場合があります。

 Internet Explorerが使用するデフォルトのメーラー(メール送信ソフ
ト)がOutlook ExpressではなくOutlook(Officeに含まれているソフトで
す)になっているかご確認ください。

*****確認方法******************
Internet Explorerのメニューバーから「ツール」「インターネット
オプション」をクリックして「インターネットオプション」という
ダイアログボックスを開き、「プログラム」というタブをクリックして
「電子メール」という欄をご確認ください。
*******************************

これはJavaScriptというよりHTMLのメール送信フォームの
問題なのですが、<form>タグのaction属性にmailtoを指定
してメールを送信するやり方では、このようにWebブラウザと
メールソフトの設定によって正しく動作しない場合があります
(厄介なことに、きちんと動作する場合もあるのですが……)。

ただ、実際にWebサイトに設置して頂くということであれば、
「訪問者の環境によりメールソフトが自動的に起動してしまう
場合がある」ということを念頭におき、そうした注意書きを
書き添えていただいた方が良いでしょう。
(「送信フォームが上手くご利用できない場合は、見積もり内容を
コピーしてメールで送信して下さい」……など)

本書では、あくまでも「JavaScriptの学習」を目的にこうした形の
注文フォームをご紹介しておりますが、前述のような問題もあり、
本来、本格利用を目的とした送信フォームにはCGIを利用する
のが無難であるとされています。
参考までに、関連情報が議論されているWebサイトのアドレスを
貼り付けておきます。

http://board.allabout.co.jp/board+whole+hpcreate.abc?seq=41

本書およびサンプルスクリプトの趣旨をご理解頂き、ご活用頂ければ
幸いです。

----------------------
P.242のparseIntについての追加情報

parseIntはJavaScriptにあらかじめ用意されている関数です。

parseInt(数字)

という書式で使うと、()内に書かれた文字列を数値に変換する
ことができます。この関数を使わずに(=数値に変換せずに)
足し算を行なうと、最終的に、

02250円

というような合計金額となってしまう場合があるため、事前に
数値変換を行なっています。

 

Copyright 2001 Gijutsu Hyoron Co., Ltd. All rights reserved.