0

私は2つのファイルを持っています。1つはPHPで計算を1回実行し、それらをjavascriptの変数に保存します。2 番目のファイルには、データベースに送信される mySQL クエリが保持されます。最初のファイルから JavaScript 変数を送信し、2 番目のファイルから変数として保存するにはどうすればよいですか。

- .load() 関数を使用して 2 番目の .php ファイルをロードしています。そのため、2 番目の .php ファイルへの更新やリダイレクトは行われません。

これはajaxなしで行うことは可能ですか? ajaxでしかできない場合、どのように設定しますか(ajaxの初心者)?

$("#st").click(function()
{
var s = $("#st").val();
var a = $("#AA").val();
var t = ((s*1)*(a*1)+(a*1)*(1/3)).toFixed(2);
var c = (t*95).toFixed(2);
var text = $('#st').children("option:selected").text();
document.getElementById('Tim').innerHTML ='<p>'+ t +' </p>';
document.getElementById('Obj').innerHTML ='<p>'+ text +'</p>';
document.getElementById('Tot').innerHTML ='<p>$'+ c +'</p>';
});

var Customer = <?php echo json_encode($q);?>;
var Dr= <?php echo json_encode($o);?>;
var Pd = <?php echo json_encode($p);?>;
var Qp = <?php echo json_encode($a);?>;
var Qs = <?php echo json_encode($r);?>;
var Cam = <?php 
        if($Camera==1){
            $CameraOutput = "XL";
            echo "XL";
            }

        if($Camera==2){
            $CameraOutput = "SL";
            echo "SL";
            }
    ?>;
4

2 に答える 2

2

編集: jQueryを使用しているという別の回答のコメントで言及したので、以下を編集しました。

これはajaxなしで行うことは可能ですか?

はい、しかし、おそらくしたくないでしょう。フォーム要素を作成し、その を設定し、そのactionを設定しmethod、それにフィールドを追加して、それをsubmiting することでそれを行います:

var form;
form = $("<form>")
    .attr("action", "/path/to/php/file.php")
    .attr("method", "POST");
$("<input type=hidden>")
    .attr("name", "fieldName1") // I'm assuming hardcoded field names
    .val(fieldValue1)           // And values coming from variables
    .appendTo(form);
$("<input type=hidden>")
    .attr("name", "fieldName2")
    .val(fieldValue2)
    .appendTo(form);
form[0].submit(); // Note the [0], so we're using `submit` on the actual HTMLFormElement

応答が現在のウィンドウを置き換えることに注意してください。

ajaxでしかできない場合、どのように設定しますか(ajaxの初心者)?

そこには何千もの例があります。:-) ここに別のものがあります:

$.ajax({
    url:  "/path/to/php/file.php",
    type: "POST",
    data: {"fieldName1": fieldValue1, "fieldName2": fieldValue2},
    success: function() {
        // Called if the request succeeds
    },
    error: function() {
        // Called if the request succeeds
    }
});
于 2013-07-17T17:31:13.527 に答える