0

以下のコードは、消費税の計算結果をスパン タグに表示するのに最適です。しかし、「合計」値を使用できる変数に変更する方法がわかりません。

<script type="text/javascript">
    function doStateTax(){
        var grandtotalX = $('#GRANDtotalprice').val();
        var statetaxX = $('#ddl').val();

        $.post('statetax.php',
        {statetaxX:statetaxX, grandtotalX:grandtotalX}, 
        function(data) {
        data = $.parseJSON(data);
        $('.products-placeholder').html(data.products);     
        $('.statetax-placeholder').html(data.statetax);     
        $('.total-placeholder').html(data.total);                               
        // ...
        });
        return false;
    };
</script>   

現在、 $('.total-placeholder').html(data.total); ここに合計数を正常に配置しています:

<span class="total-placeholder"></span> 

しかし、 (data.total) 部分を変数にするにはどうすればよいですか? これを理解する助けを借りて、その変数を非表示の入力フィールドに「値」として渡し、Authorize.netに適切な合計を正常に与えることができます

これを試してみましたが、id が機能しませんでした (testtotal の部分を参照して、何を達成しようとしているのかを確認してください)。

function(data) {
    data = $.parseJSON(data);
    $('.products-placeholder').html(data.products);     
    $('.statetax-placeholder').html(data.statetax);     
    $('.total-placeholder').html(data.total);       
    $testtotal = (data.total);                      
    // ...
4

3 に答える 3

1

フォーム内で隠しフィールドを使用している場合は、次のことができます。

//inside $.post -> success handler.
$('.total-placeholder').html(data.total);
$('input[name=yourHiddenFieldName]', yourForm).val(data.total);

これは、通常の送信と一緒に送信されます。または、別の場所でデータにアクセスする場合:

var dataValue = $('input[name=yourHiddenFieldName]', yourForm).val();
于 2012-07-08T08:36:31.057 に答える
0

「testotal」を関数スコープ外で認識させたい場合は、関数外で定義する必要があり、それを別の場所で使用できます。

 var $testtotal;
 function(data) {
                data = $.parseJSON(data);
                $('.products-placeholder').html(data.products);     
                $('.statetax-placeholder').html(data.statetax);     
                $('.total-placeholder').html(data.total); 
                $testtotal = (data.total);

編集

コメントが長くなりすぎたので、ここで説明しようと思います。

JavaScript で定義された変数には PHP からアクセスできず、その逆も同様です。PHP が JavaScript 変数について知る唯一の方法は、その変数を HTTP リクエスト (通常または ajax) で渡す場合です。

したがって、変数を php に渡したい場合は$testtotal、ajax リクエスト (または単純な古い HTTP リクエスト) を作成し、変数を php スクリプトに送信してから、それ$_GET/$_POST を取得するために使用する必要があります。

それがあなたの質問に答えることを願っています。そうでない場合は、質問を編集して、より明確になるようにしてください。

于 2012-07-08T08:08:48.743 に答える