- 締切済み
価格計算フォーム作成について
初心者です。次のような書籍注文フォームを作成しております。 (BODYタグも必要の場合お教え下さい。) CGIは借りており、テーブルの数など変更するとうまく送信できないようです。 フォームへは、各冊数、合計冊数、送料、合計金額の順に入力できるようなっております。また、実際は、書籍(1)、(2)のみ現在使用できるようなっています。 修正しているのですが、動作が正しく動いてくれない状況です、どこを変えたら正しく動作しますでしょうか? 申し訳ありませんが、なかなか解決せずご教示いただけると嬉しいです。 以下コード↓ ------------------------------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 6.5.2.0 for Windows"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>書籍販売 メイン</TITLE> <SCRIPT language="JavaScript"> <!-- //冊数を記述(フォームを使用できるのは書籍(1)、(2)のみ。(3)~(7)は記録として残されている。) function CountBooks() { // var i1 = document.form.書籍(1).selectedIndex; // var i2 = document.form.書籍(2).selectedIndex; // var i3 = document.form.書籍(3).selectedIndex; // var i4 = document.form.書籍(4).selectedIndex; // var i5 = document.form.書籍(5).selectedIndex; // var i6 = document.form.書籍(6).selectedIndex; // var i7 = document.form.書籍(7).selectedIndex; var i1 = document.form1.elements[14].selectedIndex; var i2 = document.form1.elements[15].selectedIndex; var i3 = document.form1.elements[16].selectedIndex; var i4 = document.form1.elements[17].selectedIndex; var i5 = document.form1.elements[18].selectedIndex; var i6 = document.form1.elements[19].selectedIndex; var i7 = document.form1.elements[20].selectedIndex; //送料計算(書籍(1)(単価:300円)のみ適用。1~5冊なら160円、6冊以上なら960円。)) function GetSouryou(i1) { var iSouryou = 0; if (i1 < 1) iSouryou = 0; else if (i1<6 ) iSouryou = 160; else if (i1 < 1000) iSouryou = 960; else iSouryou = 0; } //書籍(1)の単価×冊数を計算 var ikakaku1 = document.form1.elements[14].selectedIndex; * 300; //書籍(2)の単価×冊数を計算 var ikakaku2 = document.form1.elements[15].selectedIndex; * 1000; //合計金額を計算 function GetGoukeiKinGaku(iCount,iSouryou, iKakaku1, iKakaku2) { var iGoukei = 0; iGoukei = (iSouryou * iKakaku2)+ikakaku1; iGoukei = Math.floor(iGoukei); iGoukei = Kanma(iGoukei); document.form1.elements[23].value = iGoukei; } //数値に3桁カンマを追加 function Kanma(iValue) { iValue=new String(iValue); Leng=iValue.length; if(Leng%3 == 0) Atai=Leng/3-1; else Atai=Math.floor(Leng/3); i=3; for(j=0; j<Atai; j++) { iValue=iValue.substring(0,Leng-i)+','+iValue.substring(Leng-i,Leng); Leng++; i++; i+=3; } return iValue; } //--> </SCRIPT> <STYLE type="text/css"> <!-- INPUT{ text-align : left; } .TEXT_RIGHT{ text-align : right; } .style1 {font-size: 2} --> </STYLE> </HEAD> -----------------------------------------------------------
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- fujillin
- ベストアンサー率61% (1594/2576)
不明な情報が多く、何がどのような関係なのかわからないので、推測で埋めるしかありませんが・・・ とりあえず、 var ikakaku1 = document.form1.elements[14].selectedIndex; * 300; var ikakaku2 = document.form1.elements[15].selectedIndex; * 1000; あたりで、エラーが出たりしませんか?
補足
ご返答いただきまして、ありがとうございます。 エラー箇所がどこなのか、分かりません。。 ただ、プログラムを動かすと個々の冊数のみ選択結果が反映され、 合計冊数、送料、合計金額は変化なしです。 var ikakaku1 = document.form1.elements[14].selectedIndex; * 300; var ikakaku2 = document.form1.elements[15].selectedIndex; * 1000; 上記2つは書き方が間違っているのでしょうか。 下記修正しましたが、変化なしでした。 var ikakaku1 = document.form1.elements[14].selectedIndex * 300; var ikakaku2 = document.form1.elements[15].selectedIndex * 1000; また、足りない情報についてどこら辺が必要でしょうか? 申し訳ありませんが、教えていただけると幸いです。