2011-10-28 6 views
1

これはあまりカバーされていませんが、私はここで少し深く考えています。私が理解することができます。Ajaxでフォームを送信し、PHPファイルから即座に結果を表示する

jQueryのAJAX関数を使用してHTMLフォームを送信し、フォームデータをPHPスクリプトに即座に送信したいと考えています。私のPHPスクリプトは、そのデータを収集し、変数などに割り当てる必要があります。PHPスクリプトは、次に、入力されたデータに基づいていくつかの結果をエコーし​​ます。

これが完了したら、そのエコーデータをHTMLフォームと同じページに表示します。

私が理解できないことは、PHPファイルからの応答を収集してフォームページに出力する方法です。

誰かがここに投稿した(res)引数を使ってみました:PHP + jQuery + Ajax form submission - return results on the same page私が見ることができるものは、私が達成しようとしているものの右の行にありますが、PHPファイル全体(実際のPHPコード私自身のエコーではない)。

ご協力いただきありがとうございます。

ありがとうございました。

+2

この方法でコードを投稿すれば、間違いがどこにあるかを確認して修正するのに役立ちます。 – Olorin

+0

PHPファイル全体が処理されなかった場合、インタプリタが壊れている可能性があります。 PHPファイルのURLを直接ブラウザに接続するとどうなりますか?それはまた、未処理のPHPファイル全体を返しますか? – Tim

+0

あなたのPHPファイルがhtml拡張子を持つように簡単かもしれません。 PHPファイルに直接触れ、何が表示されているのか見てみてください。 – Derek

答えて

2

$.get()または$.post()というクエリを設定するだけで済みます。

あなたのHTMLのフォームにIDを与える:あなたのJSで次に

<form id="ajaxquery" method="post" action=""> 
<label for="field">Type Something:</label> 
<input type="text" name="field" id="field" value="" /> 
<input type="submit" value="Send to AJAX" /> 
</form> 

<div id="success"></div> 

を:

あなたのPHPで次に
$("#ajaxquery").live("submit" , function(){ 
    // Intercept the form submission 
    var formdata = $(this).serialize(); // Serialize all form data 

    // Post data to your PHP processing script 
    $.post("/path/to/your.php", formdata, function(data) { 
     // Act upon the data returned, setting it to #success <div> 
     $("#success").html (data); 
    }); 

    return false; // Prevent the form from actually submitting 
}); 

<?php 

// Process form data 
echo '<strong>You submitted to me:</strong><br/>'; 
print_r($_REQUEST); 

エコーエニシング()D ' $ .post()関数に返されます。data

+0

私はそれが今働く方法を理解する!これを投稿していただきありがとうございます。私のスクリプトも同様に働いています:) – tctc91

+0

は素晴らしいですが、テキスト領域のコンテンツがデフォルトに戻って確実に更新されるようにするにはどうすればいいですか? –

0

$ .ajax();があります。 jqueryを使用してページを送信し、成功すると(PHPコードが実行されると)jsonの文字列を返し、status:trueなどの要素を含むと、別のPHPページから結果を取得して即座に表示する関数(jqueryの成功)

0

JQuery's get functionは、成功のリクエストで呼び出される関数を渡すことができます。あなたの実際のコードが完全に表示されている場合

jQuery.get(url [, data] [, success(data, textStatus, jqXHR)] [, dataType]) 
0

とにかく、私は考えることができるいくつかの理由があります:

A.誤ったサーバー設定/ PHPコンパイラは - あなたのサーバーは、スクリプトとしてPHPのページを処理することはできませんファイルとして出力します。

B.あなたのコードは正しく書かれていません(ほとんどの場合、<?のような短いタグは無効になっており、<?phpと書く必要があります)ので、サーバーはこれをスクリプトとして受け入れません。

+0

合意された、彼は解析問題があるようです。 – Tim

+0

皆様、ありがとうございました!それが問題を解決するかどうかがわかります。そうでない場合は、私のコードをここに掲載します。ありがとう:) – tctc91

関連する問題