異なるフォームから呼び出したfunctionの計算をしたい
以下のようなコードがあります
<script type="text/javascript">
<!--
function keisan1(FRM){
// ################ 販売価格欄計算 ###############
//コンマを外す
txt = 5; // テキストボックスの数
for(i=0; i<txt; i++) {
if(FRM.elements[i].value != "") {
FRM.elements[i].value = FRM.elements[i].value.replace( /,/g, '');}
}
//数字かどうかチェック
for(i=0; i<txt; i++) {
if (FRM.elements[i].value.match(/[\D]/g)){
window.alert("今入力した文字が不正です。半角数字で入力してください。");
return(false); // 計算中止
}
}
//本体価格欄の計算する
txt = 4; // 計算するテキストボックスの数
ttl = FRM.hk5.value*0;
for(i=0; i<txt; i++) {
if(FRM.elements[i].value != "") {
ttl += eval(FRM.elements[i].value);}
}
FRM.hk5.value = ttl-(FRM.hk2.value*2);
//コンマ処理
txt = 5; // コンマをつけるテキストボックスの数
for(i=0; i<txt; i++) {
if(FRM.elements[i].value != "") {
FRM.elements[i].value = FRM.elements[i].value.replace( /,/g, '').replace( /((?:^[-+])?\d{1,3})(?=(?:\d\d\d)+(?!\d))/g, '$1,');}
}
}//############## 販売価格計算ここまで ###############
こういった感じのものが 4つあります
で それぞれの合計額を 最後にたして総合計したいのですが
まず それぞれの呼び出しが別々のフォームになっていまして
HTMLは
<form name="rei1">
onclick="keisan1(this.form)"
</form>
と言う感じで keisan1から4まで作りました
また、HTMLもフォーム名 rei1からrei4まであります
総合計計算をするときに
onclick="sougoukei()"
として念のため各項目の合計計算(小計を出す感じです)し直してから
各項目をたして総合計にしたいのですが
function sougoukei(){
keisan1();
keisan2();
keisan3();
keisan4();
ここから各小計をたして総合計を出す
}
としたいのですが うまくいきません
( )の中に何か書かないといけないようなんですが
this.form でも合計が出ない
FRMとうっても
FRM.elements[...]はnullかオブジェクトではないと言う感じのエラー
が出ます
それぞれの小計計算はうまく動いています。
何をどうしたらうまくいくのかよく分かりません
どなたかご教授お願いします
よろしくお願いします
お礼
Cdblに変更して正しく認識されました。 ありがとうございます。