• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:自動計算ができる通販フォームについて)

自動計算ができる通販フォームについて

このQ&Aのポイント
  • 自動計算ができる通販フォームについての質問です。
  • 既に送信できるところまでできているが、本の項目の計算ができないため、Javaで再現できるかどうか知りたい。
  • 本のタイトルを選択すると400円が加算される仕組みにしたい。

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

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 一冊目(選択)のvalueを未選択にして動くソースにしました。 price2 = price2 !== "未選択" ? 400 : 0; というところで制御しています。 price2が未選択以外の場合はprice2を400、未選択の場合はprice2を0とする動きです。 function keisan(){ // 設定開始 // 商品1 var price1 = document.form1.goods1.options[document.form1.goods1.selectedIndex].value * 500; // 商品2 var price2 = document.form1.goods2.options[document.form1.goods2.selectedIndex].value; price2 = price2 !== "未選択" ? 400 : 0; // 商品3 var price3 = document.form1.goods3.options[document.form1.goods3.selectedIndex].value; price3 = price3 !== "未選択" ? 400 : 0; // 合計を計算 var total = parseInt(price1) + parseInt(price2) + parseInt(price3); // 設定終了 document.form1.field_total.value = total; // 合計を表示 } 試してみてください。

00-sx
質問者

お礼

試してみたところ、思っていた通りの動きをしてくれて感動しました。 浅知恵の自分には出せない答えだったので質問して良かったです。 とても丁寧なご回答、ありがとうございました!

その他の回答 (1)

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.1

まず、訂正を。java と javascript はよく似ていますが、全く別のものです。 商品1で var price1 = document.form1.goods1.options[document.form1.goods1.selectedIndex].value * 500; としてoption value値をとっているなら、 var price2 = document.form1.goods2.options[document.form1.goods2.selectedIndex].value; ここで price2 には"あああ(1)”が入りますよね。 var price2 = document.form1.goods2.options[document.form1.goods2.selectedIndex].value; if(price2 == "あああ(1)") price2 = 400; こうすれば900円表示されましたよ。

00-sx
質問者

補足

>全く別物 カテゴリ選択の際に知りました。イライラさせてしまっていたらすみません。 そしてご指摘頂いたifを用いての書き換え、動いたことは動きました。 ありがとうございます! しかしながら、項目はあああ(1)以外にもあるため複数選択となるとまた変わってくるのかなと検索をしてみて感じたのですが… http://www.red.oit-net.jp/tatsuya/java/Fblink.htm まだ応用できるほど頭が追いつきそうになく、直ぐに答えが出てしまった方はご教授頂ければありがたく思います。何度も申し訳ありません。