在SESSION中传递Javascript变量和PHP变量的混合


Passing a mixture of Javascript variables and PHP variable in a SESSION

我有一个表单,用户在其中输入某些信息,他们通过Javascript获得一些信息。

我想把信息从Javascript传递到另一个页面。但是,在用户输入的表单中,有一个Input字段,我也想将其传递到下一个屏幕。我知道我可以通过$POST和session传递这个输入字段,但这是我正在努力的Javascript字段。

这是我的表单(我将显示一个字段,以免屏幕上充斥着代码):

//I added this hidden field and it stopped my javascript form updating//
<input id="amount" type="hidden">
//===========================================================// 
<input class="applyForm-input"  id="amount" name="amount" type="text"  autocomplete="off" maxlength="6" style="position:relative; left:200px; top:-24px;">

这是通过Javascript输出的地方:

<div class="loanForm-totalToBorrow v-number" id="amountdiv">

这是我的Javascript为这个特定的字段:

function updateCost() {
var amount = parseFloat(document.getElementById("amount").value) || 0.00;
    delivery = parseFloat(document.getElementById("delivery").value);
        if(delivery !='select' && delivery)
        {
            delivery=parseFloat(delivery);
        }
        else
        {
           delivery= 0.00;
        }
    total = amount + delivery;
    fixedrate =  total / 100 * 12.2;
    grandtotal = fixedrate + total;   
document.getElementById("amountdiv").innerHTML = amount.toFixed(2); 

现在我知道PHP是服务器端和Javascript是客户端。如何将数据传递给PHP变量呢。

在我的第二页,我想输出一些会话。下面是一个例子:

<?php
echo ' <tr class="blah1"> ';
echo ' <td class="blah2">&#163;' . $_SESSION['amountdiv'] . ' </td> ';
echo ' </tr> ';
?>

我看过stackoverflow,人们提到隐藏的输入字段。虽然,当我添加这些,我的Javascript停止工作。

你可以在页面加载时为javascript变量赋值。

$var = $_SESSION['session_var'];
<script type="text/javascript">
 var myVAr = <?php echo $var; ?>;
</script>

您在上面发布了2个"input"字段。问题是,您的隐藏输入具有与文本字段相同的id="amount"。

id-attributes的值在整个html页面中必须是唯一的。

所以我建议重命名隐藏输入字段的id,你的javascript应该再次工作,你可以使用你的隐藏输入发布到下一页

你可以使用jQuery的AJAX功能

$(document).ready(function(){ 
    $("#mysubmitbutton").click(function(){
    var amount = parseFloat(document.getElementById("amount").value) || 0.00;
        delivery = parseFloat(document.getElementById("delivery").value);
            if(delivery !='select' && delivery)
            {
                delivery=parseFloat(delivery);
            }
            else
            {
               delivery= 0.00;
            }
        total = amount + delivery;
        fixedrate =  total / 100 * 12.2;
        grandtotal = fixedrate + total;
        .post("mysecondpage.php", {total: total, fixedrate: fixedrate, 
                                   grandtotal: grandtotal});
    });
}); 

上面的代码获取JavaScript变量并将它们发送到您想重定向到

的PHP页面
<?php
$total = $_POST["total"];
$fixedrate = $_POST["fixedrate"];
$grandtotal = $_POST["grandtotal"];
?>

你可以获取传输的值