2011-07-08 3 views
1

私はこれが可能かどうかわかりませんが、私のページにユーザーが興味を持っているフォームがあり、そのフォームの下に3つのPHP変数があります(現在値が割り当てられていないので、 )。PHP変数にAJAXを挿入しますか?

ユーザが関心事を入力してサブミットをクリックすると、私のAJAXが引き継ぎ、テーブルをポピュレートしてページをリロードして、変数に値が表示されるようになります。

ページを更新する必要がないので、「成功すれば$ var = 'value';」と言うことができますか?私は、これはあまりにも混乱音doesntのを願ってい

、感謝

+1

最初に試してください。取得できない場合は、コードを投稿してください。 – helloandre

+0

あなたはその質問についてより明確になることができますか?あなたが記述したことは、Ajaxだけで達成できます。スクリーのデータを変更するためにページをリロードする必要はありません。 Ajaxはこれを行うことができます。その意味では、最初からPHPの実装をスキップすることができます。 – user482594

+0

PHPコントロールに代入するのではなく、フォームコントロールに入力された値をAjaxで均等に表示するのはなぜですか?ページを更新する必要はありません。 – Chibuzo

答えて

1

既にAJAXを使用しているので、なぜあなたはただJavascriptを使用してロジックをしませんか? jQueryを使用している場合は、成功コールバック関数で必要なコードを実行します。

AJAXからPHPへデータを送信する際の問題は、PHPがサーバー側の言語であり、AJAXはクライアント側の問題です。ブラウザがそのページを見るまでに、PHPは完全に実行され、HTML/CSS/Javascriptなどとして返されます。

1

いいえ、できません。 HTMLがブラウザでレンダリング/表示されるまでには、PHPは最初からHTMLの生成を完了している可能性が非常に高いでしょう。 AJAXハンドラを使って値をラウンドトリップし、値が表示されている場所をページに埋め込むことができますが、なぜラウンドトリップに気をつけますか?ちょうどAJAX呼び出しで値を入力してください。

1

これは絶対に可能で、かなり簡単です。

$('#mysubmit').click(function() { 
    $.getJSON(
     'form_ajax.php', // This is the php file that will be called 
     { formVar1: $('#form-var-1').val() }, // Add all your form data here 
     function(data) { 
      // This is the function that is called after the php script is 
      // done executing. The 'data' variable will contain the $data 
      // array you see in the following php file. 
     } 
    ); 
}); 

私はJSONを使用することを好むが、他のアプローチは、同じように良いです:ちょうど別のPHPスクリプトを作成し、フォームページのJavaScriptから呼び出す(私はあなたがjQueryのを使用していると仮定するつもりです)。 getJSON()ajax()のドキュメントをご覧ください。あなたのPHPファイルは次のようになります:

<?php 
    $data = array(); 
    if ($_SERVER['REQUEST_METHOD'] == "POST") { 
     $data['formVar1'] = $_POST['formVar1']; 
    } 
    echo json_encode($data); 
?> 

もちろん、あなたのフォームデータでもっと多くのことを行うでしょう。また、他にもたくさんのアプローチがありますので、あなたのニーズに最も適した方法を探してください。