<div id='here'></div>
J'essaie de rafraîchir un certain div au sein d'un groupe de divs. Le contenu div est essentiellement généré par PHP avec les données d'une base de données MySQL, ainsi que de nombreuses variables envoyées à l'aide d'un XMLHttpRequest.
L'idée est de recharger/actualiser la div elle-même et de ne pas charger un fichier php ou de l'écraser avec .text
ou .html
. Dans ce cas, je ne peux pas utiliser .load('file.php')
Ce que j'ai essayé
<script type='text/javascript'>
function updateDiv()
{
document.getElementById("here").innerHTML = document.getElementById("here").innerHTML ;
}
</script>
et (pour un rafraîchissement toutes les 3 secondes):
$(document).ready(function () {
setInterval(function () {
$('#here').load('#here'));
}, 3000);
});
Idéalement, j'aurais besoin de quelque chose comme:
function reloadDIV () {document.getElementById("here").innerHTML.reload}
function reloadDIV () {$('#here').load(self)}
afin que je puisse l'utiliser dans un onClick:
<a onclick='reloadDIV ();'>reload div</a>
Pour recharger une section de la page, vous pouvez utiliser jquerys load
avec l'URL actuelle et spécifier le fragment dont vous avez besoin, qui serait le même élément sur lequel load
est appelé, dans ce cas #here
:
function updateDiv()
{
$( "#here" ).load(window.location.href + " #here" );
}
Cette fonction peut être appelée dans un intervalle ou attachée à un événement click
Vous pouvez utiliser jQuery pour y parvenir en utilisant la méthode simple $.get
. .html
fonctionne comme innerHtml et remplace le contenu de votre div.
$.get("/YourUrl", {},
function (returnedHtml) {
$("#here").html(returnedHtml);
});
Et appelez ceci en utilisant la méthode javascript setInterval
.