ここから本文です

http://www.geocities.jp/taddy_frog/JulianDay.html ユリウス日を求めるプログラ...

tad********さん

2011/7/1121:52:42

http://www.geocities.jp/taddy_frog/JulianDay.html
ユリウス日を求めるプログラムです。


プレビューをすると、

ライン: 19
文字: 29
エラー: ';'がありません。

という字が出て、
それを無視して実行したら、

ライン: 42
文字: 1
エラー: オブジェクトを指定してください。

という字が出ます。

閲覧数:
231
回答数:
3
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

sii********さん

編集あり2011/7/1323:10:51

> A = document.form1.txtA.value;
> M = document.form1.txtB.value;
> D = document.form1.txtC.value;

フォームコントロールのvalueは必ず文字列型になります。2つの変数等のいずれかが文字列型だと+演算子は「結合」として働きますので、

1 + 2 = 3
"1" + 2 = "12"
1 + "2" = "12"
"1" + "2" = "12"

このようになり、+演算子は注意が必要です。このうち変数Aと変数Mは計算の中で数値型に変換されているのでいいのですが、変数Dは文字列型のまま+演算子で演算されているので、計算結果は予定より大きく出てしまうのではないでしょうか。

A = document.form1.txtA.value - 0;
M = document.form1.txtB.value - 0;
D = document.form1.txtC.value - 0;

変数Aや変数Mも念のためですが、例えばこのようにして予め文字列型から数値型へ変換しておくといいと思います。

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

スクリプトの一番最後で、

> document.form1.txtD.value = JD;
> }
> } </script>

となっていますが、

}
document.form1.txtD.value = JD;
} </script>

ブロックの対応関係から多分このように修正されるとよいと思います。

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

> あなたが言った通りに直したら、
> document.form1.txtDはNull又はオブジェクトではありません
> という字が出るようになりました。

> <INPUT TYPE="text" NAME="txtD>

を、

<INPUT TYPE="text" NAME="txtD">

name属性が正しく閉じられていないからではないかと思います。上記の点を修正してみて下さい。

質問した人からのコメント

2011/7/13 23:47:59

sii_sideさん
ありがとうございます。
"が抜けてるとか、
変数が数値型か文字列型とか、
色々教えてくれて、
ありがとうございます。


fxnjk132も
ありがとうございます。
大文字と小文字の間違いは、
自分では気づきにくいので、
教えてくれてありがとうございます。

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

leb********さん

編集あり2011/7/1218:54:34

fxnjk132さん
ありがとうございます。

ぼくはtaddy_frogと同一人物です。

Ifをifに書き直したら、
エラーは無くなりましたが、
答えが出ないです。


sii_sideさん
ありがとうございます。

あなたが言った通りに直したら、
document.form1.txtDはNull又はオブジェクトではありません
という字が出るようになりました。

fxn********さん

2011/7/1122:09:38

とりあえず19行目の
else If

else if
に直してみてください。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる