获取javascript计算以作为表单数据发布并显示在php页面中

获取javascript计算以作为表单数据发布并显示在php页面中,javascript,php,html,forms,Javascript,Php,Html,Forms,我对JavaScript和php有点熟悉,也非常熟悉HTML,但在让它们协同工作方面经验有限。我看了很多例子,要么不理解,要么其他帖子没有专门针对我的情况。我试图在提交表格时完成两件事。一种是从由innerHTML填充的div中检索信息,以便与表单一起发布,另一种是在表单发布时为事务生成唯一的编号,然后显示。 我有一个HTML表单,显示生成的列表,每个列表旁边都有一个复选框。选中复选框后,我将使用onclick=“calTotal()”计算并显示所有选中框的总数。下面列出的代码。 显示脚本工作正

我对JavaScript和php有点熟悉,也非常熟悉HTML,但在让它们协同工作方面经验有限。我看了很多例子,要么不理解,要么其他帖子没有专门针对我的情况。我试图在提交表格时完成两件事。一种是从由innerHTML填充的div中检索信息,以便与表单一起发布,另一种是在表单发布时为事务生成唯一的编号,然后显示。

我有一个HTML表单,显示生成的列表,每个列表旁边都有一个复选框。选中复选框后,我将使用onclick=“calTotal()”计算并显示所有选中框的总数。下面列出的代码。

显示脚本工作正常,并显示一个值,例如Total$125.00。我需要做的是在我发布表单时发布该总值。此时传递的唯一值是最后一个复选框值。这个总数应该在JavaScript中分配,还是应该在输入字段中分配

我问题的第二部分是关于创建唯一事务号的算法的值。我希望在提交表单时生成该数字,但随后需要将其显示在php页面上。我已经分别测试了我的算法,并且知道当我硬编码中的值时,它工作正常。我需要从表单中获取值,并使用它们来计算交易编号。计算完成后,需要将其传递到php页面。同样,我也不完全确定在哪里分配值,以便将其传递到下一页

任何能为我指明正确方向的事情都将不胜感激

<script type="text/javascript">
  function calTotal() {
    var ch, i=0;
    var total=0;
    while(ch=document.getElementsByName("amt")[i++]) {
      if (ch.checked) 
      {
        total=total+Number(ch.value);
      }
    }
    var div=document.getElementById('divTotal');
    total="$"+total.toFixed(2);
    div.innerHTML= "Total: " +total;
    return total;
  }

function calTrans(x,y,z)
  {
  do calculations here

  // concatenate into Trans number
  var transNum=rm.concat(em,tm,am);
  return transNum;
  }
</script>

<form id="frmcheckout" action="out.php" method="post" onsubmit=calTrans()>
<table cellspacing="25">
<tbody>
  <tr>
    <th>Selection</th>
    <th>Title</th>
    <th>Cost</th>
  </tr>
  <tr>
    <td>
        <input type="checkbox" name="amt" value="$cost" onclick="calTotal()"></td>
    <td>$Title</td>
    <td>$cost</td>
  </tr>
#end
</tbody>
</table>
<table>
  <tbody>
    <tr>
      <td colspan="2">
        E-mail address:<input type="text" name="email" value="E-mail required">
      </td>
    </tr>
    <tr>
      <td>
        <div id="divTotal"></div>

      </td>
      <td>
        <input type="submit" value="Submit";>
      </td>
    </tr>
  </tbody>
</table>
</form>

函数calTotal(){
var-ch,i=0;
var合计=0;
while(ch=document.getElementsByName(“amt”)[i++]{
如果(检查通道)
{
总计=总计+数量(ch.值);
}
}
var div=document.getElementById('divTotal');
total=“$”+toFixed总计(2);
div.innerHTML=“总计:”+总计;
返回总数;
}
函数calTrans(x,y,z)
{
在这里做计算
//串接成Trans数
var transNum=rm.concat(em、tm、am);
返回transNum;
}
挑选
标题
成本
$Title
美元成本
#结束
电子邮件地址:

您是否尝试过使用隐藏字段?e、 g

<input type="hidden" name="total" id="total" value="" >
这样,在提交表单时,值将作为“total”传递给脚本(在上面的示例中)。您可以在php中获得如下值:

<?php
$total = $_POST["total"];
$amount = $_POST["amount"];
$email = $_POST["email"];
$transactionId = generateTransId(<<someparams>>);//YOUR FUNCTION TO CREATE TRANS ID
?>

然后,要显示事务id或将其输出到php页面上的任何位置,以下是一个示例:

<div id="transId"><?php echo $transactionId; ?></div>

感谢您帮助理解这一点。使用您的解决方案,我能够正确地得到总数。通过理解如何从表单字段中获取值,我还能够获取传递给脚本的事务id信息,该id现在包含在post变量中。
<div id="transId"><?php echo $transactionId; ?></div>