2009-08-28 13 views
1

Ajaxフォームの送信が成功すると、PHPファイルを含めてdivのコンテンツを更新する方法を教えてください。フォーム提出時に.replaceを使用してDIVを更新する方法

これは動作します:

jQuery(form).ajaxSubmit({ 
    success: function() { 
$('#ajaxRenew').load('script.php'); 
} 
}); 

が、私のscript.phpページから、それが(通常は「インクルード」として、それはOK作品)の中に含まれます、そして.LOADでそれを取得しない、など、ヘッダが必要ですそれら、警告を生成する 。

このケースではAjaxが使用されることを読んでいます(.replace?)。しかし、私は一日中努力しており、動作させることはできません。私はあなたが私の質問を理解することを願っています

jQuery(form).ajaxSubmit({ 
    success: function() { 
$('#ajaxRenew').replace('script.php'); 
} 
}); 

私はこのようなものが必要。ありがとうございました!

+1

「script.phpにはヘッダーなどが必要です」と言ったら、どういう意味ですか?どんな種類のヘッダーなど? –

+0

私はそれらが "可変スコープ"と呼ばれると思います。 –

答えて

1

できません。 PHPコンテキストが終了すると(つまり、スクリプトが最初に実行されたとき)、インクルードが失われます。あなたはあなたのscript.php内の関連するすべてのインクルードを行うことができ、POSTまたはGETからajaxSubmit経由で実行する必要のあるパラメータを渡すことができます。

+0

ありがとうございます! –

+0

ジョシュは正しいです。たとえば、script.phpページでデータベースのログイン情報が必要な場合は、そのページにそのログイン情報を含める必要があります。 – superUntitled

0

Ajax/load関数に必要な変数を渡します。これにより、第2引数で指定されたデータを持つAjax POSTリクエストが作成されます。例えば

<?php 
//index.php 
$variable = time(); 
?> 
<div id="myDiv"> 
</div> 
<script type="text/javascript"> 
    $('#myDiv').load('responder.php', {"hello" : <?= $variable ?>}); 
</script> 
?> 



<?php 
//responder.php 
print_r($_POST); 
?> 
+0

ありがとうございます! –

0

は、あなたのスクリプトがdiv要素の内容を返すさせることができます。たぶんベストプラクティスではないかもしれませんが、JQueryでこれを行うことができます。

$('#formId').submit(function() 
{ 
    $.post('fle.php', {variable1: 'value'}, function (data) 
    { 
     /* Check data contents, maybe it's returned as json or what ever */ 
     $('#divId').html(data); 
    }, 'json'); /* Skip the last option if you're not using json */ 
}); 

ファイル全体を含める必要がある場合は、負荷は唯一のオプションだと思います。

関連する問題