我对JavaScript和php有点熟悉,对HTML非常熟悉,但在使它们一起工作方面经验有限。我看了很多例子,要么不理解,要么其他帖子没有具体说明我的情况。我想在表单提交时完成两件事。一种是从由innerHTML填充的div中检索信息以使用表单发布,另一种是在表单发布时生成一个唯一的交易号,然后显示。
我有一个HTML表单,显示生成的列表,每个列表旁边都有一个复选框。当选中一个复选框时,我使用onclick =“calTotal()”来计算并显示所有选中框的总和。代码如下。
显示脚本完美运行并显示一个总计$ 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>
答案 0 :(得分:0)
您是否尝试过使用隐藏字段?例如
<input type="hidden" name="total" id="total" value="" >
您可以对您的唯一交易ID使用相同的方法。然后,当您填充“divTotal”div时,可以填充隐藏的字段。 e.g
document.getElementById("total").value = total;
这样,当提交表单时,该值将作为“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>