- ベストアンサー
ラジオボタンで異なる値を同時に表示する方法
- ラジオボタンで、二つのテキストフィールドに別々の値を同時に表示させたい。
- 部数が取得できない問題を解決し、ラジオボタンの選択に応じて部数と金額を表示する方法を知りたい。
- 現在は金額のみ表示できるが、ラジオボタンの選択に応じて部数と金額を同時に表示できるようにしたい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>そうすると、CGIに対比表を追加しなければならないのですよね >現在動いてるCGIの記述をあまり変えたくないので、二つの >フィールドに表示したいのです。 (1)CGIに対比表を追加するのは当たり前のことです。 たとえばユーザーがデータを改ざんしてbusuu=100、totalPay=10 などでおくってきたら、10円で仕事をなさるつもりですか? よくよく考えて運用しないと痛い目をみるのは質問者さん自身です。 (2)前回提示したデータでbusuuとtotalPayの2つが送られるように してありますが、ちゃんと検証なさっていますか?
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
考え方が違いますね radioのvalueには数量をいれておいて、対比表で金額にかえます。 ただし、サーバーに金額を送る意味はありません。 サーバー側で数量をもとに再度対比表で金額を計算しなおす必要が あります。 (ユーザーによる改竄の可能性があるため) ちなみにbusuuのデータはradioがもっているのであえて 別のフィールドを用意する必要なないでしょう。 (submitするとわかるでしょ?) <html> <head> <Title></Title> <script type="text/javascript"> function calculate(obj){ var f=obj.form; var list={100:"12000",150:"14000",200:"15000",300:"16000"}; var v=list[obj.value]?list[obj.value]:""; f.totalPay.value=v; } </script> </head> <body> <form> <Div class="hyou">>>価格(税込み)※計算用の仮値段<Br></div> <Table Border="1" Align="left" CellPadding="3"> <TR><TD> <Input Type="radio" name="busuu" Value="100" onClick="calculate(this)">100部</td> <td>12,000円</td> </tr> <tr> <td><INPUT type="radio" name="busuu" value="150" onClick="calculate(this)">150部</td> <td>14,000円</td> </tr> <tr> <td><INPUT type="radio" name="busuu" value="200" onClick="calculate(this)">200部</td> <td>15,000円</td> </tr> <tr> <td><INPUT type="radio" name="busuu" value="300" onClick="calculate(this)">300部</td> <td>16,000円</td> </tr> <tr> <td><INPUT type="radio" name="busuu" value="300up" onClick="calculate(this)">300部以上</td> <td>※お見積もりいたします</td> </tr> <tr> <td><B>商品価格</B><Br><font size="2">(実際は非表示)</font></td> <td><INPUT name="totalPay" type="text" size="24" value="" readonly> 円</td> </tr> </table> <input type="submit"> </FORM> </body> </html>
補足
そうすると、CGIに対比表を追加しなければならないのですよね 現在動いてるCGIの記述をあまり変えたくないので、二つのフィールドに表示したいのです。
お礼
>よくよく考えて運用しないと痛い目をみるのは質問者さん自身です。 そうですよね。 もうちょっと考えます。ありがとうございました >ちゃんと検証なさっていますか? CGIの方も同時に弄らないと受け取れないようです。