0

そこで、ユーザーの選択に基づいて javascript を使用して totalPrice を計算し、値を返し、それをクラス (totalPrice と呼ばれる) として格納する登録フォームを作成しています。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.7.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.js"></script>
<script type="text/javascript" src="JavaScript.js"/></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<link type="text/css" rel="stylesheet" href="stylesheet.css"/>
<link href='http://fonts.googleapis.com/css?family=Alef' rel='stylesheet' type='text/css'>
</head>

<body>
   <form id="paymentform" action="Session5.php" method="post">
   <label><b>Camp Sessions: 1-6 (Check off the week(s) the camper will be participating in.)</b> </label><br /><br />
   <ol>
   <li>July 8 - July 12 ($75/child)<input type=checkbox name="campsessions[]" value="July8-July12" onclick="getTotal()" id="includeweek1"></li>
   <li>July 15 - July 19 ($75/child)<input type=checkbox name="campsessions[]" value="July15-July19" onclick="getTotal()" id="includeweek2"></li>
   <li>July 22 - July 26 ($75/child)<input type=checkbox name="campsessions[]" value="July22-July26" onclick="getTotal()" id="includeweek3"></li>
   <li>July 29 - August 2 ($75/child)<input type=checkbox name="campsessions[]" value="July29-August2" onclick="getTotal()" id="includeweek4"></li>
   <li>August 6 - August 9 ($60/child)<input type=checkbox name="campsessions[]" value="August6-August9" onclick="getTotal()" id="includeweek5"></li>
  <li>August 12 - August 16 ($75/child)<input type=checkbox name="campsessions[]" value="August12-August16" onclick="getTotal()" id="includeweek6"></li>
   </ol>

   <label> <b> Include After Camp Care? </b></label> <input type="checkbox" name= "campcare" onclick="getTotal()" id="aftercampcare" /> <br /><br />
   <i> After Camp Care is available from 4pm-6pm for an additional charge of $2/hr.</i><br /><br />

      Total Price:<div class="inline totalPrice"> </div>
      <br/>



<input type="submit" name="formSubmit" value="Submit" class="button greenButton"/>
<input type="button" name="cancel" value="Cancel" class="button redButton" onclick="href='activemindandbody.org'">
</form>
</body>
</html>

Javascript.js の JavaScript コードは次のとおりです。

function weekPrice()
{
    var weekPrice=0;
    var theForm = document.forms["paymentform"];
    var includeWeek1 = theForm.elements["includeweek1"];
    var includeWeek2 = theForm.elements["includeweek2"];
    var includeWeek3 = theForm.elements["includeweek3"];
    var includeWeek4 = theForm.elements["includeweek4"];
    var includeWeek5 = theForm.elements["includeweek5"];
    var includeWeek6 = theForm.elements["includeweek6"];
    var afterCampCare = theForm.elements["aftercampcare"];


    if(includeWeek1.checked==true)
    {
        weekPrice= weekPrice + 75;
    }
    if (includeWeek2.checked==true)
    {
        weekPrice= weekPrice + 75;
    }
    if (includeWeek3.checked==true)
    {
        weekPrice= weekPrice + 75;
    }
    if (includeWeek4.checked==true)
    {
        weekPrice= weekPrice + 75;
    }
    if (includeWeek5.checked==true)
    {
        weekPrice= weekPrice + 60;
    }
    if (includeWeek6.checked==true)
    {
        weekPrice= weekPrice + 75;
    }
    if (afterCampCare.checked==true)
    {
        weekPrice= weekPrice + 2;
    }
    return weekPrice;
}
function getTotal()
{
var weekTotalPrice = weekPrice(); 
document.getElementsByClassName("totalPrice")[0].innerHTML = "" + weekTotalPrice;
}

ここに私の問題があります: 次のページで、totalPrice の値が再び必要になり、それを html に出力する必要があります。その後のページでは、同じ値をデータベースに保存する必要があります。では、phpを使用してJavascript関数の値を保存するにはどうすればよいので、さまざまなphp関数を使用しますか?

4

3 に答える 3

0

JavaScript 関数を使用して、最初のページ フォームで非表示の入力フィールド値として合計値を設定し、次のページで POST された値を取得して別の非表示フィールドに渡し、それを使用してみませんか?値をデータベースに格納します。

于 2013-07-02T22:50:23.560 に答える
0

<form>HTML ページで、と</form>タグの間に次を追加します。

<input type="hidden" name="totalprice" />

JavaScript のgetTotal()関数内に、次の行を追加します (weekTotalPrice を設定した後)。

document.querySelector('input[type=hidden][name=totalprice]').value = weekTotalPrice;

フォームを送信すると、このフィールドも送信されます。

これを行うことで、PHP を使用して次のページでアクセスできます。

<?php echo($_POST['totalprice']); ?>

これを行うことで、別の非表示フィールドに追加できます。

<input type="hidden" name="totalprice" value="<?php echo($_POST['totalprice']); ?>" />

于 2013-07-02T22:47:41.743 に答える
0

ヒントは次のとおりです。送信すると、値は $_SESSION 値として PHP に保存できます。

于 2013-07-02T22:46:23.577 に答える