2010-11-21 1 views
0

「ではなく、アクション=の」私は検索ページを持っている」=アクションで、ページをリロードせずに提出を形成するために、AJAXのソリューションを提案する:(ちょうどデモの目的のために、不正な構文を言い訳してください)はresponse.php「

<form action="" method="post" name="form"> 
//form elements and such with a hidden input name="action" value="search" 
</form> 
<?php if(isset($_POST['action']) and $_POST['action'] == 'search'): ?> 
<?php include results.php ?> //takes form data, build SQL query, puts results in array 
<?php foreach($results as result) blah blah //for each result display it ?> 
<?php endforeach; ?> 
<?php endif; ?> 

私は、アクション属性がPHPファイルに設定されているソリューションを見てきました。残念なことに私の例では1つもありません。 http://www.simonerodriguez.com/ajax-form-submit-example/

<form name="MyForm" action="response_ajax.php" method="post" onsubmit="xmlhttpPost('response_ajax.php, 'MyForm', 'MyResult', '<img src=\'pleasewait.gif\'>'); return false;"> 

それは良さそうに見えますが、残念ながら私は、最初のパラメータが必要ではありません:この1を取るreqsponse_ajax.phpは、鉱山はちょうど空白になっています。

JSはここで見つけることができます:http://www.simonerodriguez.com/wp-content/plugins/downloads-manager/upload/ajaxsbmt.js

誰もがスクリプトに変更を加えるか、よりよい解決策を提案することができれば、それは素晴らしいだろう、ありがとう。

答えて

0

AJAXを使用しているときは、アクション属性の内容はまったく重要ではありません。これは、AJAX処理を開始するonsubmitまたはsubmitボタンのonclick属性です。

あなたはAJAXの基本を理解していますか?新しいページをロードするフォームを実際に送信するのではなく、サーバーにXMLHttpRequestを送信し、データをPOSTし、onreadystatechangeを使用して応答を返します。その時点でページが動的に更新されます。文字通り何百もの数千もの例がウェブ上に存在する。

+0

私の場合はうまくいかない理由はありますか?私は一日中テストしています...何もありません。 – stockoverflow

+0

正直言って、私は自分自身を完了するための仕事のトンを持っている。私はあなたのコードを実際に歩くことはできません。アラート・ステートメントをJavaScriptに挿入し、ステートメントをサーバー側コードにロギングしていますか?あなたのApacheログを分析しますか?それが失敗した場合になぜうまくいかないのかといういくつかの手がかりがどこかにあるはずです。 –

+0

私のこれらの2つのリンクを確認してください:http://www.delicious.com/jcomeau_ictx/ajax –

関連する問題