2012-03-28 12 views
0

PHPファイルの内容を既存のdivにロードします。私は次のコードを試してみましたが、エラーが発生していますロードはファイヤーバグで定義されていません。誰かが私を助けることができますか?既存のdivを削除せずにjquery load()で既存のdivにコンテンツをロードする方法

$("#post_button").click(function(){ 
    var result = load("<?php echo SITEURL; ?>/newpost.php", data); 
    $("#parent-post").append(result, function() { 
    special_functions(); 
}); 

答えて

1

$.load()$.ajax()の便利な方法であり、デフォルトで選択のHTMLを置き換えます。もっとフレキシビリティを得るには、$.getのように、データを返すためのアクセス権を与え、DOMを操作しないメソッドを使用してください。その後、追加の代わり

getJSONが同様に$に.get、$ .postすることができhttp://api.jquery.com/jQuery.get/

$("#post_button").click(function(){ 
    $.get("<?php echo SITEURL; ?>/newpost.php", data, function(returnData){/* assuming your data var is data to send to server*/ 
      $("#parent-post").append(returnData); 
      special_functions();             

    }); 

}); 
0

おそらく最も簡単なのは、リモートコンテンツをおそらくdivの子要素に読み込み、div自体ではないからです。 jqueryで行った変更を確認します(コンテンツをロードする要素にloadを呼び出さなければなりません)。

<div id="parent-post"> 
Lorem ipsum dolor sit amet. 
<div id="inner_div"></div> 
</div> 

<script type="text/javascript"> 
$("#post_button").click(function(){ 
    $("#inner_div").load("<?php echo SITEURL; ?>/newpost.php", 
         data, special_functions); 

}); 

</script> 
0

loadここで定義されている方法はありますか。それがjQuery loadであることを期待している場合は、この方法で使用する必要があります。

$(element).load('url'); 

あなたはコンテンツが追加され、その後、loadを交換しないことにしたいので、使用する権利の方法です。 get,postまたはajaxのような他の方法を使用して、PHPからコンテンツを取得し、それを必要なコンテナ内に追加します。

$.get("<?php echo SITEURL; ?>/newpost.php", function(response){ 
    $("#parent-post").append(response); 
    special_functions(); 
}); 
0
$.getJSON("<?php echo SITEURL; ?>/newpost.php", function(data){  
    $("#parent-post").append(data);   
     special_functions(); 

}); 

を置き換えることができます。

0

ここに行きます。 AJAXは、サーバーからデータを引き出しているので、それはあなたがそれがデータを取得するときに何をすべきか、それを伝えるためにそれをコールバック関数を与える必要があることを意味し、非同期動作を使用します:

 $("#post_button").click(function(){ 
    $.post("<?php echo SITEURL; ?>/newpost.php", data, function(result) { 
     $("#parent-post").append(result); 
     special_functions(); 
     }); 
}); 

関連する問題