• 締切済み

フォームに入力された値を計算する方法

私はまったくの初心者なのですがどなたか教えて下さい。 ●A,B,Cという3つの入力フォームがあるとします。 Aのフォームに入力された数字は「A÷20」という値に、 Bのフォームに入力された数字はそのまま、 Cのフォームに入力された数字は「C×10」という値に変更して、 (A+C)÷B×30という計算を行なって、その答えを Dのフォームへ表示するというシステムをcgiやphpで作りたいのです。 あれこれと試行錯誤しながら、javascriptでなんとか出来たんですが… どなたか教えて頂けませんか? function keiri() { a = document.takeko.case.value; a = eval(a); a = a / 20 b = document.takeko.time.value; b = eval(b); c = document.takeko.days.value; c = eval(c); c = c * 10 ans = (a + c) / c * 30; document.spec.result.value = ans; } <form name="takeko"> <input name="case" type="text" size="12"> <input name="time" type="text" size="12"> <input name="days" type="text" size="12"> <input name="button" type="button" onClick="keiri()" value="CLICK"> <input name="result" type="text" size="12"> <br></form>

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

例えばこんな感じでどうでしょう? 最低限のエラーチェックだけつけてあります。 <?PHP if(is_numeric($_REQUEST['case'])) $a=$_REQUEST['case']/20; if(is_numeric($_REQUEST['time'])) $b=$_REQUEST['time']; if(is_numeric($_REQUEST['days'])) $c=$_REQUEST['days']*10; if($b!=0) $d=($a+$c)/$b*30; print<<<eof <form name="takeko" action="{$_SERVER['PHP_SELF']}"> <input name="case" type="text" size="12" value="{$a}"> <input name="time" type="text" size="12" value="{$b}"> <input name="days" type="text" size="12" value="{$c}"> <input type="submit" value="CLICK"> <input name="result" type="text" size="12" value="{$d}"> <br></form> eof; ?>

takeko148
質問者

お礼

yambejpさん、はじめまして。 試してみたところ、私の希望通りでした! ありがとうございます! PS 私が書き込んでからすぐにアドバイスをくれていたんですね。返事が遅れてしまって申し訳ありませんでした。

関連するQ&A

専門家に質問してみよう