• 締切済み

ホームページ作成は初心者です。

ホームページ作成は初心者です。 以下エクセルのような計算表を作成したいので、 エクセルの表現をさせていただきます。 まず2行2列(A1:B2)の表を作成し、 1行目(A1:A2)は自由入力可能なテキストボックス。 2行目(B1:B2)は計算結果を反映させたいです。 計算式は、 B1・B2セルは、ROUNDDOWN(SUM(A1:A2)*COUNT(A1:A2),0)の式とし、 Web上では、テキストボックスに入力した数値の結果だけを表します。 式の意味は、 A1からA2までの数値の合計を空白を除く入力数を乗算し、 小数点を切り捨てる内容となります。 大変申し訳ないですが、お教え願います。

みんなの回答

noname#111181
noname#111181
回答No.1

投稿コーナーから推測するに、JavaScriptで実現したいということですよね? であれば、下記のようなHTMLでいかがでしょう。 他のテキストボックスに移動したタイミングで計算を行います。 ただし、テキストボックスに数字以外が入力された場合のエラー処理はしていません。 ---------------------------------------------- <html> <head> <script type="text/javascript"> <!-- function hoge() { var a1 = document.MyForm.A1.value; var a2 = document.MyForm.A2.value; var n = 0; if (a1 != "") n++; else a1 = 0; if (a2 != "") n++; else a2 = 0; var b1 = (eval(a1) + eval(a2)) * n; document.MyForm.B1.value = Math.floor(b1); } //--> </script> </head> <body> <form name="MyForm"> <input name="A1" type="text" onChange="hoge();" /> <input name="B1" type="text" /> <br /> <input name="A2" type="text" onChange="hoge();" /> </form> </body> </html>

momonga2000
質問者

補足

回答ありがとうございました。 これでなんとかなりそうです。 補足で教えていただきたいのですが、 A項が沢山ある場合は、 if文の羅列になってしまうのですが、 何か簡潔な方法があるのでしょうか? お手数おかけします。

関連するQ&A