1

ユーザーが特定の情報を入力し、Javascript を介して情報を取得するフォームがあります。

Javascript からの情報を別のページに渡したい。ただし、ユーザーが入力するフォームには、次の画面にも渡したい入力フィールドがあります。$POST とセッションを介してこの入力フィールドを渡すことができることはわかっていますが、苦労しているのは Javascript フィールドです。

これが私のフォームです (コードで画面がいっぱいにならないように 1 つのフィールドを表示します):

//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 変数に渡すにはどうすればよいでしょうか。

2 番目のページでは、いくつかのセッションを出力したいと考えています。以下の例:

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

私はstackoverflowを見てきましたが、人々は非表示の入力フィールドについて言及しています。ただし、これらを追加すると、Javascript が機能しなくなります。

4

3 に答える 3

0

ページの読み込み時にphp変数値をjavascript変数に割り当てることができます。

$var = $_SESSION['session_var'];

<script type="text/javascript">
 var myVAr = <?php echo $var; ?>;
</script>
于 2013-03-15T15:12:08.543 に答える
0

上記の 2 つの「入力」フィールドを投稿しました。問題は、非表示の入力に、テキスト フィールドと同じ id="amount" があることです。

id-attributes の値は、HTML ページ全体で一意である必要があります。

したがって、非表示の入力フィールドの ID の名前を変更することをお勧めします。これにより、JavaScript が再び機能し、非表示の入力を使用して次のページに投稿できるようになります。

于 2013-03-15T15:13:05.323 に答える
0

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"];

?>

その後、転送された値を取得できます

于 2013-03-15T15:25:19.033 に答える