1

JavaScriptはクライアント側でphpはサーバー側であるため、これが可能かどうかはわかりませんが、私が持っているのは、フォーム内の注文にリアルタイムで合計を与える一連のJavaScript関数です. それを明確にするために、ユーザーがフォームでアイテムを選択すると、合計が表示されます。フォームを送信すると、php は注文をデータベースに送信します。私が達成する必要があるのは、注文の合計 (javascript によって作成された) を (php obv 経由で) データベースに送信する方法です。合計を作成する JavaScript 関数は次のとおりです。

function calculateTotal(){
     var Price = getDropPrice() + getverifyPrice() + getmiscPrice();
     var divobj = document.getElementById('totalPrice');
     divobj.style.display='block';
     divobj.innerHTML = "$"+Price;
}

これが生成される html は非常に単純です。

<div id="totalPrice"></div>

他のものを投稿する必要がある場合はfunctions(getDropPrice, getverifyPrice, getmiscPrice)お知らせください。ただし、基本的にドロップはドロップダウンであり、確認とその他はラジオ ボタンです。上記の関数で注文合計を取得するために、それらの合計を合計しているだけです。SO と Google での検索では、php 変数を javascript に変換する方法しか示されていないので、これが実行できることを願っています。ありがとう!

4

4 に答える 4

2

合計を非表示の入力フィールドに入力します。そうすれば、フォームが送信された後、PHPスクリプトを読み取って、好きなことを実行できるようになります。

<input type="hidden" name="hiddenInput" />

そして、通常の形式で取得します$_POST['hiddenInput']; その方法で返送するデータがさらにある場合は、入力を追加するか、1つに固執して、すべてのデータをJSONにパックしてその方法で送信することができます。受信したらjson_decode()、そのフィールドで実行し、送信されたデータの数に関係なく、すべてを取り戻します。

ただし、ユーザー側から提供されたデータに依存するのではなく、選択した製品を返送して合計を再度計算することはお勧めしません。そうしないと、高価な商品を1日1ドルで販売することになります:)

于 2012-11-25T19:02:56.010 に答える
1

必要なのはjQueryの$.ajaxです。これにより、ページをリロードせずにPOSTリクエストが送信されます。

ボタンがmyButtonと呼ばれているとすると、onClick()イベントの場合は関数を呼び出します。

$.ajax({
  type: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
}).success(function( msg ) {
  alert( "Data Saved: " + msg );
});

some.phpでは、$ _POST['name']と$_POST['location']を使用して情報を取得します。

入力フィールドがあるとします。このようなフィールドからjQueryを介して情報を取得することもできます。次に、入力フィールドからajaxを介してphpスクリプトに情報を送信できます。

$('#yourInputField').val();

ここで、yourInputFieldは入力フィールドのIDです。これにより、この情報をスクリプトに取り込むことができます。フォームに複数の要素がある場合は、serialize()関数を確認することをお勧めします。原則として同じことを行い、すべての情報をJSON文字列に圧縮するだけです。

于 2012-11-25T19:02:49.497 に答える
1

"input"これが、作者がタイプが。の要素を作成した理由です"hidden"。それらの1つを使用して"value"、要素の属性を必要な合計金額に設定してから、フォームをデータベースに投稿すると、フォーム上の他の値と同じように非表示の値に簡単にアクセスできます。

HTML:

<input type="hidden" id="TotalPrice_Input" />

Javascript:

document.getElementById("TotalPrice_Input").value = Price;

それが役に立てば幸い。

于 2012-11-25T19:03:58.630 に答える
0

Javascript と PHP を組み合わせる:

<?php
$mixit = '<script type="text/javascript">';
$mixit .= 'function calculateTotal() {';
$mixit .= 'var Price = getDropPrice() + getverifyPrice() + getmiscPrice();';
$mixit .= 'var divobj = document.getElementById("totalPrice");';
$mixit .= 'divobj.style.display="block";';
$mixit .= 'divobj.innerHTML = '.$Price.';}';
$mixit .= '</script>';


echo $mixit;

?>
于 2012-11-25T19:13:13.577 に答える