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