web-dev-qa-db-ja.com

ページ全体を再読み込みせずにdivを再読み込みする方法は?

ほとんどの人にとって、私が求めていることは本当に簡単だと思います。ページ全体を再読み込みせずにdivを再読み込みしたい。それを行うための最良の方法は何ですか?

<div class="black_text" id="cp_in_content_div">
<?php
$id = $_GET["id"];
$result = mysql_query("SELECT * FROM Setting WHERE ID = $id");
$row = mysql_fetch_array($result);
switch ($_GET["action"])
{
    case "delete":
    if (!unlink("$_SERVER[DOCUMENT_ROOT]setting/$row[Filename]"))
    {
        echo "Error.";
        header("Refresh: 2.5; URL=delete_setting.php?id=$id");
        exit();
    }
    if (!mysql_query("DELETE FROM Setting WHERE ID = $id"))
    {
        echo "Error.";
        header("Refresh: 2.5; URL=delete_setting.php?id=$id");
        exit();
    }
    else
    {
        echo "Ok!";
        header("Refresh: 1.25; URL=index.php");
    }
    break;
    default:
    echo "form";
}
?>
</div>

ページではなくdivのみを再読み込みするには、これらのheader( "Refresh:...")が必要です。

8
Gabriele

jQuery.load() は、セレクターを使用して非同期でデータをロードする最も簡単な方法ですが、任意のjquery ajaxメソッド(get、post、getJSON、ajaxなど)を使用することもできます。

Loadでは、セレクターを使用して、ロードするスクリプトのどの部分をロードするかを指定できます。

$("#mydiv").load(location.href + " #mydiv");

これは技術的にはページ全体をロードし、jqueryは選択したもの以外をすべて削除しますが、それはすべて内部で行われることに注意してください。

15
Explosion Pills
$("#div_element").load('script.php');

デモ: http://sandbox.phpcode.eu/g/2ecbe/

コード全体:

<div id="submit">ajax</div> 
<div id="div_element"></div> 
<script> 
$('#submit').click(function(event){ 
   $("#div_element").load('script.php?html=some_arguments');  

}); 
</script> 
8
genesis

これを使って。

$('#mydiv').load(document.URL +  ' #mydiv');

ハッシュタグの前にスペースを入れてください。

2
praveena

ボタンタグとクリック時の関数を記述する

var x = document.getElementById('codeRefer').innerHTML;
  document.getElementById('codeRefer').innerHTML = x;

これをすべてonclick関数で記述します