[英]Get javascript calulations to post as form data and display in php page
我对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>
您是否尝试过使用隐藏字段? 例如
<input type="hidden" name="total" id="total" value="" >
您可以对唯一的交易ID使用相同的方法。 然后,当您填充“ divTotal” div时,可以填充隐藏的字段。 例如
document.getElementById("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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.