前提・実現したいこと
最終的に購入者が支払う旅行代金を算出したいです。
ただ算出に当たっては、1泊当たり20,000円を上限に、代金の2分の1に相当する金額が割引となります。
例
1泊2日 旅行代金50,000円の場合、半額は25,000円ですが、上限が20000円なので
旅行代金の支払額は30,000円
例
2泊3日 旅行代金50,000円の場合、半額は25,000円、上限が20000円X2泊=40,000円なので、旅行代金の支払額は25,000円
発生している問題・エラーメッセージ
1泊当たりのおひとり様代金X泊数で通常の旅行代金の算出はできたのですが、
旅行代金の半額に対し、1泊当たりの上限の範囲内で、割引を適用するコードを書くことができず、お支払額を算出できないでいます。
該当のソースコード
<div class="sample_wrap"> <h1 class="sample_h1">GO TO TRAVELいくら割引されるの?</h1> <p class="sample_p">旅行代金合計と泊数入力してください</p> <form name="daikin" class="sample_form" method="post" action=""> <table class="sample_table"> <tbody><tr> <!--旅行単価を表示--> <th class="sample_th"> <label for="textForm1">単価: </label></th> <td class="sample_td"><input type="text" id="textForm1" class="sample_input"> 円</td> </tr> <tr> <!--泊数を表示--> <th class="sample_th"> <label for="textForm2">泊数: </label></th> <!-- <input type="text" id="textForm2">--> <td class="sample_td"> <select name="term" id="textForm2" class="sample_input"> <option value="1" selected>1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> </select> 泊 </td> </tr> <tr></tbody> </table> <button type="button" id="button">計算</button> <button type="button" id="clear" onclick="formReset()">リセット</button> </form> </div> </body> <!--********************************************** jsの起動エリア **********************************************--> <script> // ボタンの要素を取得 var button = document.getElementById("button"); // ボタンをクリックした時の処理 button.addEventListener("click", function(e) { e.preventDefault(); // 2つの入力フォームの値を取得 var textForm1 = document.getElementById("textForm1").value; var textForm2 = document.getElementById("textForm2").value; // 2つの数値を乗じる var sum = parseInt(textForm1, 10) * parseInt(textForm2, 10) ; // var sum = textForm1 + textForm2; // 通常の代金を別の入力フォームに表示 var resultForm = document.getElementById("resultForm"); resultForm.value = sum; }); //フォームの入力内容のリセット function formReset() { document.daikin.reset(); } </script><!--通常の旅行代金を表示--> <th class="sample_th"> <label for="resultForm">通常の旅行代金: </label></th> <td class="sample_td"><input type="text" id="resultForm" class="sample_input">円</td> </tr> <tr> <!--割引額を表示--> <th class="sample_th"> <label for="textForm3">割引額: </label></th> <td class="sample_td"><input type="text" id="textForm3" class="sample_input">円</td> </tr> <tr> <!--お支払いの旅行代金を表示--> <th class="sample_th"> <label for="resultForm2">お支払旅行代金: </label></th> <td class="sample_td"><input type="text" id="resultForm2" class="sample_input">円 </td> </tr>
試したこと
javascriptでトライしたのですが(もともと浅薄な知識)、
第一次的に通常の旅行代金までは語.付けたのですが、割引額の算出と最終的にお客様が支払う金額をフォームに表示するに至りませんでした。
補足情報(FW/ツールのバージョンなど)
1.先ず、通常の旅行代金を算出
2.通常代金の半額を算出
3.半額代金が1泊当たり20000円の上限以内であれば半額のお支払となり、
上限を超える湯であれば、半額ではなく20000円X泊数分の割引となります。
分かりにくい文章で真位恐縮ですがご教示のほどよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー