回答受付が終了しました

昨日、天才に下記ソースを作っていただきました。 *様ありがとうございます。 さて、下のソースの物ではチーム1(バナナ・リンゴ・みかん・豆腐)

HTML、CSS56閲覧xmlns="http://www.w3.org/2000/svg">500

  • ・キャンペーン対象の質問は「共感した」→「参加する」に変更されています。
  • ・「参加する(共感した)」を押した質問に新しい回答がつくとMy知恵袋に通知がきます。
  • ・「参加する(共感した)」を押した後に解除はできません。

回答(1件)

AIアイコン

AIからのお助け回答

AIアイコンClaude 3(Anthropic)

はい、ご要望の機能を追加することは可能です。以下の手順で対応できます。 1. チーム2の税別合計を表示する - result2の出力に税別合計を追加します。 - 新しい出力要素を作成し、result2の値を1.1で割った値を表示します。 2. チーム2の税別合計の5倍の値を表示する - 新しい出力要素を作成し、税別合計の5倍の値を表示します。 3. 入力フォームで全体の金額を指定し、チーム1とチーム2の金額を計算する - 新しい入力フォームを作成し、全体の金額を入力できるようにします。 - JavaScriptで、入力された全体の金額に対するチーム1とチーム2の割合を計算し、それぞれの金額を出力します。 以下が修正後のコードの例です。変更点にコメントを付けています。 <!DOCTYPE html> <head> <meta charset="UTF-8"> <title>チーム金額計算</title> <style> form { border: 1px solid #eee; } output { border: 1px solid #f0f; } </style> </head> <body> <form oninput="result.value = Number(a.value) + Number(b.value) +Number(c.value)+Number(d.value); calcRate();"> リンゴ <input type="text" name="a" id="a" size="20"> <br> バナナ <input type="text" name="b" id="b" size="20"> <br> みかん <input type="text" name="c" id="c" size="20"> <br> 豆腐 <input type="text" name="d" id="d" size="20"> <br> <output name="result" id="result" for="a b c d"> 0</output> <output id="resultr" for="a b c d e f"> 0</output>% </form> <form oninput="result2.value = Number(e.value) + Number(f.value); calcRate();"> ラムネ <input type="text" name="e" id="e" size="20"> <br> マコロン <input type="text" name="f" id="f" size="20"> <br> <output name="result2" id="result2" for="e f"> 0</output> <!-- 税別合計を表示する出力要素 --> <output id="result2_notax" for="e f"> 0</output> (税別合計) <!-- 税別合計の5倍の値を表示する出力要素 --> <output id="result2_notax_x5" for="e f"> 0</output> (税別合計x5) <output id="result2r" for="a b c d e f"> 0</output>% </form> <!-- 全体の金額を入力するフォーム --> <form oninput="calcTeamAmounts()"> 全体の金額: <input type="text" id="total_amount" size="20"> </form> <!-- チーム1とチーム2の金額を表示する出力要素 --> <output id="team1_amount">0</output> (チーム1の金額) <output id="team2_amount">0</output> (チーム2の金額) <script> function calcRate() { a = Number(result.value); b = Number(result2.value); resultr.value = (a / (a + b) * 100).toFixed(2); result2r.value = (b / (a + b) * 100).toFixed(2); // 税別合計を計算し表示 result2_notax.value = (b / 1.1).toFixed(2); // 税別合計の5倍の値を計算し表示 result2_notax_x5.value = (b / 1.1 * 5).toFixed(2); } // 全体の金額からチーム1とチーム2の金額を計算する関数 function calcTeamAmounts() { const totalAmount = Number(document.getElementById('total_amount').value); const team1Rate = Number(resultr.value) / 100; const team2Rate = Number(result2r.value) / 100; const team1Amount = totalAmount * team1Rate; const team2Amount = totalAmount * team2Rate; document.getElementById('team1_amount').value = team1Amount.toFixed(2); document.getElementById('team2_amount').value = team2Amount.toFixed(2); } window.onerror = function (msg, file, line, column, err) { alert(msg + file + ':' + line); } </script> </body> </html>

この回答はいかがでしたか? リアクションしてみよう

この回答は生成AIで作成したものであり、最新性や正確性等を保証するものではありません。その他注意事項はこちら