如何在php网页之间传递javascript函数值


How to pass javascript function value across php webpages

因此,我正在创建一个注册表单,该注册表单根据用户的选择使用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函数呢

这里有一个提示:提交后,该值可以作为$_SESSION值存储在PHP中。

在HTML页面上,在<form></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']); ?>" />

为什么不在第一页表单上使用JavaScript函数将总值设置为隐藏输入字段值,然后在下一页检索POST'ed值并将其传递到另一个隐藏字段中,然后可以使用该字段将值存储到数据库中。