- ベストアンサー
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
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
いろんなものを端折り過ぎだと思います。 #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サーバは必要ありません
その他の回答 (4)
- tux_the_penguin
- ベストアンサー率42% (69/163)
ぁぅっ^^; 一箇所間違えました これじゃ動かない。。 <html>から数えて8行目 × }--> ○ }//--> htmlのコメント閉じタグはjavascriptのコメントにしなきゃダメでした 失礼しました。
- Tasuke22
- ベストアンサー率33% (1799/5383)
> WEBサーバを立ち上げるとはどのような状態のことを指すのでしょうか? WEBサーバを立ち上げるとは、WEBサーバと言われるソフトを 起動することです。 WindowsXP ProであればIISが付いています。 WindowsXP Homeには無いので、Apacheなどのフリーソフトを 使います。そこで初めてブラウザからHTMLを読み出せるわけです。 #2さんの間違い指摘はありましたが、 WEBサーバ:Apacheでブラウザ:IE6でエラー出ませんでしたね。 間違いは間違いです。
お礼
WEBサーバについてよくわからなかったのですが、そういうことも知っておいたほうがいいと思うので、これから勉強したいと思います。ありがとうございました。
- non-chan1234
- ベストアンサー率35% (57/160)
<select/>の行が間違っています。 正しくは「</SELECT>」。 また、<FORM>~</FORM>タグがないからでは? <FORM>タグにはname属性を入れ、たとえばname="FORM1"とした場合、calc()関数内の「total.value」「num.value」をそれぞれ「FORM1.total.value」「FORM1.num.value」としてみては。 ちなみにC:\Document and settings\…はWeb上ではなくローカルです。
補足
ローカルとは自分のパソコンの環境のことですよね? どうしたらWeb上で見ることができるようになるのでしょうか?
- Tasuke22
- ベストアンサー率33% (1799/5383)
私の環境で動かしたら、ちゃんと計算出来ています。 本当にWEB上で動かされているのでしょうか? 環境は? ご自分のPCでしたら、WEBサーバを立ち上げていますか?
補足
自分のPCで立ち上げているのですが、知識不足ですいませんが、WEBサーバを立ち上げるとはどのような状態のことを指すのでしょうか?
お礼
WEBサーバは必要なかったのですね。ありがとうございました。