動的な表の計算方法とは?

このQ&Aのポイント
  • 動的な表の計算方法について詳しく教えてください。
  • PHPやJavaScriptを使用して、動的な表の値を計算する方法を教えてください。
  • 初心者向けに、動的な表の計算について具体的な記述方法を教えてください。
回答を見る
  • ベストアンサー

動的な表の計算

いつもお世話になります。 見よう見まねでやっている初心者です。 下記のような動的な表があります(PHPで表の行が可変します。) name="aa"に入力された値とname="bb"に入力された値の足し算の 回答をname="kaito"に出したいと思っています。 計算ボタンを押すとname="kaito"に答えを出したいのですが、 以下のような式ですと当然ながら全く反応しません。 javascriptまたはPHPをどう記述すれば表の値を計算できるようになるのでしょうか? できれば具体的に教えて頂ければ大変助かります。 ご教授の程よろしくお願い致します。 <script> function keisan(){document.tasizan.kaito.value=(document.tasizan.aa.value)+(document.tasizan.bb.value)} </script> <form name="tasizan"> <table width="100" border="1"> <tr> <th width="10" scope="col">a</th> <th width="10" scope="col">b</th> <th width="20" scope="col">回答</th> </tr> <tr> <td><INPUT type="text" name="aa" ></td><td><INPUT type="text" name="bb" ></td><td><INPUT type="text" name="kaito" ></td> <td><input type="button" value="計算" onclick="keisan()"/></td> </tr> <tr> <td><INPUT type="text" name="aa" ></td><td><INPUT type="text" name="bb" ></td><td><INPUT type="text" name="kaito" ></td> <td><input type="button" value="計算" onclick="keisan()"/></td> </tr> <tr> <td><INPUT type="text" name="aa" ></td><td><INPUT type="text" name="bb" ></td><td><INPUT type="text" name="kaito" ></td> <td><input type="button" value="計算" onclick="keisan()"/></td> </tr> <tr> <td><INPUT type="text" name="aa" ></td><td><INPUT type="text" name="bb" ></td><td><INPUT type="text" name="kaito" ></td> <td><input type="button" value="計算" onclick="keisan()"/></td> </tr> </table> </form>

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

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

こんにちは。 PHPで行数が増えるところがどのようなロジックだからわからなかったので抽象的な回答になりました。 例えばforでループさせているとしたら <?php for ( $i = 0; $i < 10; $i ++ ) { ?> <input type="button" value="計算" onclick="keisan(<?= $i ?>)" /> <?php } ?> とすれば0~9までのkeisan(0)~keisan(9)ができます。 whileでループさせているとしたら <?php $index = 0; while ( ループ条件 { ?> <input type="button" value="計算" onclick="keisan(<?= $index ?>)" /> <?php $index++; } ?> になります。 ようするに回答内容の$indexをそのまま使ってもダメで自分の作ったPHPに合わせないとダメです。 1行出力するごとに1ずつ増える変数です。

chikomaru
質問者

お礼

LancerVII さま 教えて頂いた通りでできました! 色々ご迷惑をおかけいたしまして本当に申し訳ありませんでした。 教えて頂いた通りやってみたら今度はうまくできました。 上の補足は私がただ単にコピーミスで</form> の位置が違っていて 取得できていなかったようです。 本当に助かりました。 またvar formObj = document.tasizan;のような書き方も勉強になりました。 ループの記述の仕方などと共に私にとって大きな一歩となったような気がします。本当にご親切にりがとうございました。大変感謝いたします。 また何かありましたら是非よろしくお願い致します。

chikomaru
質問者

補足

無知な私に何回もご回答いただいて本当にありがとうございます。 色々勉強になり、大変感謝いたします。 教えて頂いた通りwhileで onclick="keisan(<?= $index ?>)の()の中には順番に番号が入るようになりました。しかしながら document.tasizan.aaは Null またはオブジェクトではありません。 となってしまい動いてくれません。var aa = document.tasizan.aa[index].value;で取得できていないようなのですが、 <td><INPUT type="text" name="aa" ></td>には何も記述しなくてこのままで大丈夫なのでしょうか?なぜ取得できないのか全く分かりません。 何か他に理由がありそうでしたらまた教えて頂ければ本当に助かります。 どうかよろしくお願い致します。

その他の回答 (2)

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

こんにちは。 無知なことは悪くないです。これから知識を高めれば良いです。 ただ、聞いているだけではダメで、パソコン壊れることはないのだからいろいろ試してみるのが一番力が付きます。 (いろいろ試してみた上であれば申し訳ございません) 確認するとしたら 1.document.tasizan自体は参照できるのか 参照できた場合、document.tasizanの中身は何か 参照できない場合、tasizanという要素があるか ><td><INPUT type="text" name="aa" ></td>には何も記述しなくてこのままで大丈夫なのでしょうか? あとは、サンプルと見比べて違う場所を見つけて下さい。 PHP側でやることはどこのボタンか判断できるように先の$indexをつけるだけなのでJavaScript側のみの問題だと思います。 (PHP側で確認するとしたらきちんと行数と合っているか(先頭は0になる)を見てみて下さい) それでもわからなかったら現状のソースを補足下さい。

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

こんにちは。 まずPHP側でこの行を出力している部分でボタンの部分にどのボタンが押されたかわかるようにindexを振ります。 print '<input type="button" value="計算" onclick="keisan('.$index.')" />'; 次にJavaScriptのkeisan関数でそのindexを受け取るようにします。 function keisan ( index ) {} 最後に計算するところでそのindexを利用してaaまたはbbの値を取得します。 var aa = document.tasizan.aa[index].value; これでその行のaaまたはbbが取得できるので計算して document.tasizan.kaito[index].value = total; 合計を設定してあげればOKです。 ==== 動作サンプル http://hppg.moe.hm/okwave/qa/q7308141/

chikomaru
質問者

補足

LancerVII さま ご親切にサンプルまで付けて頂いてご回答ありがとうございます。 当方でonclick="keisan()"をonclick="keisan('.$index.')"に変えて やってみていますが LancerVII さまのようなkeisan(1)の()に数字が入りませんでした。したがってうまく動作してくれません。 たぶん記述の仕方が私のはphpで動作しているのですが、テキスト入力欄が 表全部がPHPではなく、<input type="text" name="aa" value="<?= $aa ?>"> のように一部がPHPなっているので動作の仕方が違うのではないかと思っています。 本当に無知で大変お手数おかけいたしますが、できれば動作サンプルの記述をブラウザではな、ここに記述していただけないでしょうか?本当にお手数おかけいたしますが、どうかよろしくお願い致します。

関連するQ&A

  • index が0の1行目が計算されない

    お世話になります。 基本的な事もわかっていない超初心者です。 どうか、ご教授下さい。 以下のhtml表はphpで<?php $index = 0; while ( ループ条件 { ?> <input type="button" value="計算" onclick="keisan(<?= $index ?>)" /> <? php$index++;} ?> でできた表ですが、 以下のjavascript でkeisan ( index )が下記のように表が1行しかない場合 javascriptエラーで計算できません。 <script type="text/javascript"> function keisan ( index ) { var formObj = document.tasizan; var aa = parseInt ( formObj.aa[index].value ); var bb = parseInt ( formObj.bb[index].value ); formObj.kaito[index].value = aa + bb;} </script> <form name="tasizan"> <table> <tr><th>A</th><th>B</th><th>回答</th></tr><tr> <td><input type="text" name="aa" size="5" /></td> <td><input type="text" name="bb" size="5" /></td> <td><input type="text" name="kaito" size="10" /> <input type="button" value="計算" onclick="keisan(0)" /></td> </tr></table></form> そこで自分なりに function keisan ( index ) { if(index==0){var formObj = document.tasizan; var aa = parseInt ( formObj.aa.value ); var bb = parseInt ( formObj.bb.value ); formObj.kaito.value = aa + bb;} if(index>1){ var formObj = document.tasizan; var aa = parseInt ( formObj.aa[index].value ); var bb = parseInt ( formObj.bb[index].value ); formObj.kaito[index].value = aa + bb; };} 等、色々考えてみましたがこれでは複数行ある時の1行目が計算されません。 どうしたら複数行ある時にも1行目を計算できるようになるのでしょうか? 具体的に教えて頂けると大変助かります。 どうかご教授の程よろしくお願い致します。

  • 動的なtableの値を取得したい

    いつもお世話になります。 見よう見まねでやっている超初心者です。 下記の様なテーブル(phpで読み込んでいますので実際は動的です。) の回答ボタンをクリックすると テーブル下の<INPUT type="text" name="kotae">に ボタンをクリックされた行のb列の値を入れたいと思っています。 function kaito()をどのように書いたら取得できるか悩んでいます。 初心者なもので具体的な回答でしたら助かります。 ご教授の程どうぞよろしくお願い致します。 <html> <head> <meta content="text/html; charset=utf-8" /> <script> </script> </head> <body> <table width="100" border="1"> <tr> <th width="30" scope="col">a</th> <th width="30" scope="col">b</th> <th width="40" scope="col">c</th> </tr> <tr> <td>1</td> <td>2</td> <td><input type="button" value="回答" onclick="kaito()"/></td> </tr> <tr> <td>5</td><td>3</td> <td><input type="button" value="回答" onclick="kaito()"/></td> </tr> <tr> <td>5</td> <td>4</td> <td><input type="button" value="回答" onclick="kaito()"/></td> </tr> <tr> <td>5</td> <td>5</td> <td><input type="button" value="回答" onclick="kaito()"/></td> </tr> </table> <INPUT type="text" name="kotae" size="12" > </body> </html>

  • 電卓をつくったのですが

    <script type="text/javascript"> <!-- var to=0; var inp=""; var cal="+"; var flg=1; function df(a){ flg=0; inp+=a; document.ad1.z.value= inp; } function df1(a){ if(flg==0){ flg=1; var don=to+cal+inp; to=eval(don); inp=""; document.ad1.z.value=to; } if(a=="="){ to=0; cal="+"; }else{ cal=a; } } function df3(){ to=0; cal="+"; inp=""; document.ad1.z.value=to; } --> </script> </head> <body> <div id="s1"> <div id="s2"> <form name="ad1"> <table> <tr><td colspan="4">電卓</td></tr> <tr><td colspan="3"><input type="text" size="12px" name="z" value="0"></td> <tr> <td><input type="button" name="ad7" value="7" onClick="df(7)"></td> <td><input type="button" name="ad8" value="8" onClick="df(8)"></td> <td><input type="button" name="ad9" value="9" onClick="df(9)"></td> </tr> <tr> <td><input type="button" name="ad6" value="6" onClick="df(6)"></td> <td><input type="button" name="ad5" value="5" onClick="df(5)"></td> <td><input type="button" name="ad4" value="4" onClick="df(4)"></td> </tr> <tr> <td><input type="button" name="ad3" value="3" onClick="df(3)"></td> <td><input type="button" name="ad2" value="2" onClick="df(2)"></td> <td><input type="button" name="ad11" value="1" onClick="df(1)"></td> </tr> <tr> <td><input type="button" name="add1" value="+" onClick="df1(+)"></td> <td><input type="button" name="add2" value="-" onClick="df1(-)"></td> <td><input type="button" name="add3" value="×" onClick="df1(*)"></td> </tr> <tr> <td><input type="button" name="add4" value="÷" onClick="df1(/)"></td> <td><input type="button" name="add5" value="=" onClick="df1(=)"></td> <td><input type="button" name="add6" value="." onClick="df1(.)"></td> <td><input type="button" name="add7" value="c" onClick="df3()"></td> </tr> </table> </form> </div> </div> </body> </html> クリアーは上手くいったんですが 計算ができませんでした。 どこがいけないのでしょうか?

  • 追加、削除のやり方を教えてください。

    追加ボタンを押すと下に列が増えていき削除ボタン を押すと上に削除するやり方をJavaScriptで教えて いただきたいと思います。 <html> <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=Shift_JIS"> <title>列追加、削除</title> </head> <body> <table border=1> <tr> <th>列1</th> <th>列2</th> <th>列3</th> <th>列4</th> </tr> <tr> <td><input type="text" name="retsu1" value="" size="20" maxlength="10" ></td> <td><input type="text" name="retsu2" value="" size="20" maxlength="10"></td> <td><input type="text" name="retsu3" value="" size="20" maxlength="10"></td> <td><input type="text" name="retsu4" value="" size="20" maxlength="10"></td> </tr> </table> <td ><input type="button" VALUE="追加" ></td > <td ><input type="button" VALUE="削除" ></td > </body> </html>

  • 2つのフォームに値を入れて計算

    2つのフォームを作り、その2つを計算したいのですがオブジェクトの指定の仕方がエラーが出てしまい(オブジェクトを指定してくださいと出ます)わかりません。 どうか教えてください。 ちなみにforなどは使わなくても大丈夫ですのでよろしくお願いします。 function kei() { var kei1 = 0; kei1=eval(document.A.a11.value) * eval(document.B.b21.value) ; document.C.c11.value = kei1; } <table border = 1> <form name="A"> <tr> <td> <input type = "text" size = 5 name = "a11"></input> </td> <td> <input type = "text" size = 5 name = "a12"></input> </td> <td> <input type = "text" size = 5 name = "a13"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "a21"></input> </td> <td> <input type = "text" size = 5 name = "a22"></input> </td> <td> <input type = "text" size = 5 name = "a23"></input> </td> </tr> </form> </table> <table boeder = 1> <tr> <input type = "button" onClick="kei()" value = "×"></input> </tr> </table> <table border = 1> <form name="B"> <tr> <td> <input type = "text" size = 5 name = "b21"></input> </td> <td> <input type = "text" size = 5 name = "b22"></input> </td> <td> <input type = "text" size = 5 name = "b23"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "b31"></input> </td> <td> <input type = "text" size = 5 name = "b32"></input> </td> <td> <input type = "text" size = 5 name = "b33"></input> </td> </tr> </form> </table> <table border = 1> <form name="C"> <tr> <td> <input type = "text" size = 5 name = "c11"></input> </td> <td> <input type = "text" size = 5 name = "c12"></input> </td> <td> <input type = "text" size = 5 name = "c13"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "c21"></input> </td> <td> <input type = "text" size = 5 name = "c22"></input> </td> <td> <input type = "text" size = 5 name = "c23"></input> </td> </tr> </form> </table>

  • チェックボックス、セレクトボックスを組み合わせた複雑な計算表を作りたい

    下記のような条件を満たす計算表を作りたいのですが、どのように作っていけばいいのか、さっぱり分かりません。 殆ど初心者に近い状態で、このような複雑な計算表を作るのは不可能に近いのは分かっているのですが、是非、ご教授願いたいと思い、質問させて頂きたいです。 <html> <head> <title></title> </head> <body> <form name=all> <table> <tr> <td colspan=2>a</td> <td colspan=7> <input name=AA type=checkbox>AA <input name=BB type=checkbox>BB </td> </tr> <tr> <td colspan=2>b</td> <td colspan=7> <input name=CC type=checkbox>CC <input name=DD type=checkbox>DD </td> </tr> <tr> <td colspan=2>c</td> <td colspan=7><input name=nn type=text></td> </tr> <tr> <td colspan=2>d</td> <td colspan=7> <input name=EE type=checkbox>EE <input name=FF type=checkbox>FF <input name=GG type=checkbox>GG <input name=HH type=checkbox>HH </td> </tr> <tr> <td colspan=2>eA</td> <td colspan=7><input name=PP type=checkbox>PP</td> </tr> <tr> <td rowspan=5>eB</td> <td>e1</td> <td>i1</td> <td colspan=3> <select name=i1> <option>1</option> <option>2</option> </select> </td> <td>I2</td> <td colspan=2> <select name=i2> <option>1</option> <option>2</option> </select> </td> </tr> <tr> <td>e2</td> <td>J1</td> <td colspan=3> <select name=j1> <option>1</option> <option>2</option> </select> </td> <td>J2</td> <td colspan=2> <select name=j2> <option>1</option> <option>2</option> </select> </td> </tr> <tr> <td>e3</td> <td>K1</td> <td colspan=3> <select name=k1> <option>1</option> <option>2</option> </select> </td> <td>K2</td> <td colspan=2> <select name=k2> <option>1</option> <option>2</option> </select> </td> </tr> <tr> <td>e4</td> <td colspan=7> <select name=l1> <option>1</option> <option>2</option> </select> </td> </tr> <tr> <td>f5</td> <td colspan=7> <select name=m1> <option>1</option> <option>2</option> </select> </td> </tr> <tr> <td colspan=2>f</td> <td>f1</td> <td colspan=3><input name=oo type=text></td> <td>f2</td> <td colspan=2><input name=pp type=text></td> </tr> </table> <br> <input name=keisan1 type=submit value=計算1>  <input name=clear1 type=reset value=クリア1> </form> <br> <table><tr> <td colspan=9> a~dの計<input type=text name=qq>-f1<input type=text name=rr>=ABC<input type=text name=ss> </td> </tr> <tr> <td colspan=9> eA+eBの計<input type=text name=tt>-f2<input type=text name=uu>=DEF<input type=text name=vv> </td> </tr> <tr> <td colspan=9>ABC+DEFの計<input type=text name=ww>×dで選択したときの代入数字=<input type=text name=xx></td> </tr> </table> <br> <input name=kei2 type=submit value=計算2> <input name=clear2 type=reset value=クリア2> </center> </body> </html> 条件として、 ・「a~d」は、必ず入力 ・「e~f」は、該当する場合にのみ ・チェックボックスの行は、どれか1つだけを必ず選択(複数選択した場合、注意を促す) ・セレクトボックスの行は、 該当する場合のみ ・最後に「計算」ボタンを押した時に、未入力の部分(a~d)の注意を促す 計算なのですが、 1.「a」のAAを選択、「b」のCCを選択、「c」に20を入力、「d」のEEを入力したときの場合の計算 その時、「d」のEEには10を代入という形で計算したい。(他のFF=20,GG=30,HH=40) ※「a」のBBを選択した場合は、「d」のEE=15,FF=17,GG=22,HH=27となった場合も 2.上記の条件に加え、「eB」の「e1」は1、「e2」も1を選択、「e4」は2を選択した時の計算 その時、「e1」には「100」を代入、「e2」は「150」を代入、「e4」には「80」を代入で計算したい 3.上記「2」の条件に加え、「f1」に150、「f2」に70と入力した場合、「a~d」の計算合計から「f1」を引き、「e」のAとBの計算合計から「f2」を引く 長くて条件等も分かりづらいかもしれませんが、宜しくお願いします。

  • 追加、削除について

    以前、行の追加と削除で質問をした者です。 その時、innerHTMLでのやり方を教わりましたが appendChild、removeChildという、メソッドでも 同じことができるのか教えてもらいたいです。 追加ボタンを押すと左のNOが、3,4と下に増える 削除ボタンを押すと戻るというやり方です。 <sample.html> <html> <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=Shift_JIS"> <title>列追加、削除</title> </head> <body> <table border=1> <col width="150" align="center" style="font-weight:bold"><col span="3"> <tr> <th >No</th> <th >列1</th> <th >列2</th> <th >列3</th> </tr> <tr> <td>1</td> <td><input type="text" name="sankou" value="" size="26" ></td> <td><input type="text" name="sankou" value="" size="26" ></td> <td><input type="text" name="sankou" value="" size="26" ></td> </tr> <tr> <td>2</td> <td><input type="text" name="sankou" value="" size="26" ></td> <td><input type="text" name="sankou" value="" size="26" ></td> <td><input type="text" name="sankou" value="" size="26" ></td> </tr> </table> <table> <tr> <td ><input type="button" VALUE="追加"></td > <td ><input type="button" VALUE="削除"></td > </tr> </table> </body> </html>

  • javascriptによる計算

    テキストボックス「a1~6」の値とテキストボックス「b1~6」に入力された値を足し算してテキストボックス「c1~6」(例…c[i] = a[i] + b[i])を計算するJavaScriptを作成しているのですが、結果がundefinedになってしまい上手くいきません。どうやったら動くのかどうかご教授ください。 以下ソース↓ <script language ="JavaScript"> function plus() { var intResult = 0; for (i=1; i<=6; i++){ intResult[i] = 0; if (!isNaN(document.forms["A"].all["a"+i].value) && !isNaN(document.forms["B"].all["b"+i].value)){ intResult[i] += parseInt(document.forms["A"].all["a"+i].value); intResult[i] += parseInt(document.forms["B"].all["b"+i].value); } <table border = 1> <tr> <td> <table border = 1> <tr> <td> <form name="A"> <input type = "text" size = 5 name = "a1"></input> </td> <td> <input type = "text" size = 5 name = "a2"></input> </td> <td> <input type = "text" size = 5 name = "a3"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "a4"></input> </td> <td> <input type = "text" size = 5 name = "a5"></input> </td> <td> <input type = "text" size = 5 name = "a6"></input> </form> </td> </tr> </table> </td> <td> <table boeder = 1> <tr> <input type = "button" onClick="plus()" value = "+"></input> </tr> </table> </td> <td> <table border = 1> <tr> <td> <form name = "B"> <input type = "text" size = 5 name = "b1"></input> </td> <td> <input type = "text" size = 5 name = "b2"></input> </td> <td> <input type = "text" size = 5 name = "b3"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "b4"></input> </td> <td> <input type = "text" size = 5 name = "b5"></input> </td> <td> <input type = "text" size = 5 name = "b6"></input> </form> </td> </tr> </table> </td> </tr> </table> 答え <form name = "C"> <table border = 1> <tr> <td> <input type = "text" size = 5 name = "c1"></input> </td> <td> <input type = "text" size = 5 name = "c2"></input> </td> <td> <input type = "text" size = 5 name = "c3"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "c4"></input> </td> <td> <input type = "text" size = 5 name = "c5"></input> </td> <td> <input type = "text" size = 5 name = "c6"></input> </td> </tr> </table> </form> </body> document.C.all["c"+i].value = intResult[i]; } } </script>

  • onClickで足し算をして答えを出したい

    過去に同じような質問もありましたが、いろいろ検索してこちらの過去ログを拝見しても解決できなかったので質問させてください。 onClickで計算を始めて答えを<input type="text" name="t3">に表示したいのですが、エラーが出てしまいます。いろいろ試したのですが理由がわかりません。 ちなみにソースが以下です。 <html> <head> <title>計算</title> <SCRIPT language="JavaScript"> <!-- function keisan(){ document.f1.t3.value=parseInt(document.f1.t1.value)+parseInt(document.f1.t2.value); } //--> </SCRIPT> </head> <body> <center> <table border="1" width="700" height="200"> <from name="f1"> <tr> <td width="150">右側 <input type="text" name="t1" > </td> <td width="250"> <input type="radio" name="kei" value="+">+&nbsp;&nbsp;左側<br> <input type="radio" name="kei" value="-">-&nbsp;&nbsp;<input type="text" name="t2"><br> </td> <td width="150">c<br><input type="button" name="iri" value="&nbsp;&nbsp;=&nbsp;&nbsp;" onClick="keisan()"></td> <td width="150"> 答え<br> <input type="text" name="t3"></td> <tr> </form> </table> </center> </body> </html> おわかりの方がいましたらどうかご教授お願いします。

  • Javascriptで自動計算の合計の式でエラー

    度々すみません。 前回こちらで質問させて頂きましたものです。 http://okwave.jp/qa/q8737139.html 教えて頂いた内容を確認してフォームの合計を表示するところまでは出来たのですが、合計する列をひとつ増設した所、D列の合計は教えて頂いた式で合計が無事表示されたのですが、C列の合計が合計ではなく文字の並びが表示されてしまいました。 色々調べてみたのですが、この現象の原因がよくわかりません。 何かエラーがあるのでしょうか。 お知恵を貸して頂けると嬉しいです。 宜しくお願いします。 <スクリプト> <script type='text/javascript'> function keisan(){ var price1 = (document.form1.a1.value) * (document.form1.b1.value) * (document.form1.c1.value); document.form1.金額1.value = price1 ; var price2 = (document.form1.a2.value) * (document.form1.b2.value) * (document.form1.c2.value); document.form1.金額2.value = price2 ; var price3 = (document.form1.a3.value) * (document.form1.b3.value) * (document.form1.c3.value); document.form1.金額3.value = price3 ; document.form1.total.value = price1 + price2 + price3; var f1 = (document.form1.c1.value); document.form1.c1.value = f1 ; var f2 = (document.form1.c2.value); document.form1.c2.value = f2 ; var f3 = (document.form1.c3.value); document.form1.c3.value = f3 ; document.form1.ctotal.value = f1 + f2 + f3; } </script> <HTMLソース> <body> <form method="post" name="form1"> <table width="473" border='1'> <tr> <td align='center'>&nbsp;</td> <td align='center'>A</td> <td align='center'>B</td> <td align='center'>C</td> <td align='center'>D</td> </tr> <tr> <td>1</td> <td><input type='text' name='a1' onchange='keisan()' style='width:50px' /></td> <td><input type='text' name='b1' onchange='keisan()' style='width:50px' /></td> <td><input type='text' name='c1' onchange='keisan()' style='width:25px' /></td> <td><input type='text' name='金額1' style='width:100px' /></td> </tr> <tr> <td>2</td> <td><input type='text' name='a2' onchange='keisan()' style='width:50px' /></td> <td><input type='text' name='b2' onchange='keisan()' style='width:50px' /></td> <td><input type='text' name='c2' onchange='keisan()' style='width:25px' /></td> <td><input type='text' name='金額2' style='width:100px' /></td> </tr> <tr> <td>3</td> <td><input type='text' name='a3' onchange='keisan()' style='width:50px' /></td> <td><input type='text' name='b3' onchange='keisan()' style='width:50px' /></td> <td><input type='text' name='c3' onchange='keisan()' style='width:25px' /></td> <td><input type='text' name='金額3' style='width:100px' /></td> </tr> <tr> <td colspan="3" align='right'>合計</td> <td><input type='text' name='ctotal' style='width:25px' /></td> <td><input type='text' name='total' style='width:100px' /></td> </tr> </table> </form> </body>