簡體   English   中英

在SESSION中傳遞Javascript變量和PHP變量的混合

[英]Passing a mixture of Javascript variables and PHP variable in a SESSION

我有一個表單,用戶在其中輸入某些信息,然后他們通過Javascript取回一些信息。

我想將信息從Javascript傳遞到另一個頁面。 盡管,以用戶輸入的形式,還有一個我也想傳遞到下一個屏幕的輸入字段。 我知道我可以通過$ POST和session傳遞此Input字段,但這是我一直在努力的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停止運行。

您可以在頁面加載時將php變量值分配給javascript變量。

$var = $_SESSION['session_var'];

<script type="text/javascript">
 var myVAr = <?php echo $var; ?>;
</script>

您在上方發布了2個“輸入”字段。 問題是,您的隱藏輸入與文本字段具有相同的id =“ amount”。

id屬性的值在整個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"];

?>

然后,您可以獲取轉移的值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM