• ベストアンサー

HTMLの表示で

こんにちわ。 大学でプログラミングの入門の講義をとっているので自分で試しにコンボボックスのHTMLを作ってみました。 しかし、コンボボックスの中の数字を変えてみても計算結果がWeb上で表示されません。何度見直しても原因がわからないのです。 どうかご教授お願いします。 <html> <head> <title> プログラミング基礎 </title> <script language ="JavaScript"> function calc(){ total.value=498*num.value; } </script> </head> <body> マグカップ(1個 税込498円:お一人様限定5個まで)<br> <hr> 個数: <select name ="num" onchange ="calc()"> <option value =0>0 <option value =1>1 <option value =2>2 <option value =3>3 <option value =4>4 <option value =5>5 <select/> 小計: <input type="text" size="8" name="total">円<br> <hr> </body> </html> Web上ではこのようになりました。 ↓ C:\Documents and Settings\大野将宏\デスクトップ\プログラミング基礎\001-0.html

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

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

いろんなものを端折り過ぎだと思います。 #2さんの御指摘のように<form>タグも必要だし、オブジェクト参照の名前も"名字無しの下の名前"だけじゃ不明瞭です。 データの型が違うので掛算もできません。数字と文字列を掛けています。 「個数」として渡される1とか2とかは文字列なので数字に変換しましょう。 <html> <head> <title> プログラミング基礎 </title> <script language ="JavaScript"> <!-- function calc(amount){ document.mugcup.total.value = 498 * eval(amount); }--> </script> </head> <body> <form name=mugcup> マグカップ(1個 税込498円:お一人様限定5個まで)<br> <hr> 個数: <select name ="num" onchange = "javascript:calc(this.value)"> <option value =0>0 <option value =1>1 <option value =2>2 <option value =3>3 <option value =4>4 <option value =5>5 </select> 小計: <input type="text" size="8" name="total">円<br> <hr> </form> </body> </html> ローカルに(手元のHDDに)あるhtmlを読むのにWebサーバは必要ありません

rinnshan
質問者

お礼

WEBサーバは必要なかったのですね。ありがとうございました。

その他の回答 (4)

回答No.5

ぁぅっ^^; 一箇所間違えました これじゃ動かない。。 <html>から数えて8行目  × }-->  ○ }//--> htmlのコメント閉じタグはjavascriptのコメントにしなきゃダメでした 失礼しました。

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.3

> WEBサーバを立ち上げるとはどのような状態のことを指すのでしょうか? WEBサーバを立ち上げるとは、WEBサーバと言われるソフトを 起動することです。 WindowsXP ProであればIISが付いています。 WindowsXP Homeには無いので、Apacheなどのフリーソフトを 使います。そこで初めてブラウザからHTMLを読み出せるわけです。 #2さんの間違い指摘はありましたが、 WEBサーバ:Apacheでブラウザ:IE6でエラー出ませんでしたね。 間違いは間違いです。

rinnshan
質問者

お礼

WEBサーバについてよくわからなかったのですが、そういうことも知っておいたほうがいいと思うので、これから勉強したいと思います。ありがとうございました。

回答No.2

<select/>の行が間違っています。 正しくは「</SELECT>」。 また、<FORM>~</FORM>タグがないからでは? <FORM>タグにはname属性を入れ、たとえばname="FORM1"とした場合、calc()関数内の「total.value」「num.value」をそれぞれ「FORM1.total.value」「FORM1.num.value」としてみては。 ちなみにC:\Document and settings\…はWeb上ではなくローカルです。

rinnshan
質問者

補足

ローカルとは自分のパソコンの環境のことですよね? どうしたらWeb上で見ることができるようになるのでしょうか?

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.1

私の環境で動かしたら、ちゃんと計算出来ています。 本当にWEB上で動かされているのでしょうか? 環境は? ご自分のPCでしたら、WEBサーバを立ち上げていますか?

rinnshan
質問者

補足

自分のPCで立ち上げているのですが、知識不足ですいませんが、WEBサーバを立ち上げるとはどのような状態のことを指すのでしょうか?