• ベストアンサー

テキストボックスの中に文字と計算結果を混在させたい

どうぞよろしくお願いいたします。 javascriptで計算させて、計算テキストボックスの中に文字と計算結果を混在させたいのですが できるのかどうかすらわかりません。 どうぞよろしくおねがいいたします。 サンプルはこれです。 http://www.k-net.co.jp/sample_java.html こちらのサイトの 2JavaScriptで計算するというやつです。 (サンプルをコピペしたら、ここの800文字の制限にひっかかりました。) これを実行すると最後に 金 額 | ̄ ̄ ̄ ̄ ̄| +消費税 | ̄ ̄ ̄ ̄ ̄| = 総合計 | ̄ ̄ ̄ ̄ ̄|       ̄ ̄ ̄ ̄ ̄          ̄ ̄ ̄ ̄ ̄          ̄ ̄ ̄ ̄ ̄ テキストとテキストボックス交互に表示されますが、 この表現を | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| | 金額 ○○円 + 消費税 ○○円 = 総合計 ○○円  |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ と 1つの長いテキストボックスで表現するにはどうすればいいのでしょうか? 理由はそのまま、メール発信したいのですが、 細切れにわかれているより1つの方がいいからです。 どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

元サンプルが効率的じゃないですね ある程度配列化するとすっきりすると思います。 <script language="JavaScript"> data=Array( Array("りんご","パイナップル","サクランボ","スイカ","みかん"), Array(100,300,1500,980,1980), Array("個","個","箱","個","箱") ); function sumup(f) { goukei=0; for(var i=0;i<data[0].length;i++){ goukei += data[1][i] * f.elements["chumon"+i].value; } if (goukei > 0){ var tax = goukei * 0.05 var total = goukei + tax; f.elements["goukei"].value="金額 "+goukei+"円 + 消費税 "+tax+"円 = 総合計 "+total+"円"; } } </script> <center> <form> <table border=1 width=90%> <tr nowrap> <th width=55%>商 品</th> <th width=10%>価 格</th> <th width=13%>注文数</th> <th width=12%>注文する</th> </tr> <script language="JavaScript"> for(var i=0;i<data[0].length;i++){ document.write("<tr>"); document.write("<td>"+data[0][i]+"</td>"); document.write("<td align=right>"+data[1][i]+"円</td>"); document.write("<td align=right><input type=text value='' size=3 maxlength=3 name='chumon"+i+"'>"+data[2][i]+"</td>"); document.write("<td align=center><input type='checkbox' value='' onClick='sumup(this.form)'></td>"); document.write("</tr>"); } </script> </table> <p> <input name="goukei" type="text" value="" size=100 readonly> <p> <input type=reset value="やり直す"> </form> </center>

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>文字と計算結果を混在 単純に + で連結すればいいです。 TEXT1.value="金額 " + keisankekka + "円 + 消費税" + tax + … のようにすればいいです。

関連するQ&A