2010-02-01 4 views
0

J'ai besoin d'un moyen simple pour montrer que les résultats sont loading.. depuis la base de données, pendant le chargement de la page. Je n'utilise pas jQuery pour ce faire.Chargement du texte des résultats PHP

Ce que j'ai essayé maintenant est: Je mets une étiquette <div> avec le chargement du texte dedans et en utilisant JavaScript J'ai fait l'affichage à none après la boucle entière. Mais je ne vois pas du tout le texte.

<div id="loading">Loading Results...</div> 

Je mets le code ci-dessus juste après l'étiquette du corps.

Je mets le code ci-dessous juste après la fin de la boucle while.

echo "<script>document.getElementById(\"loading\").style.display = \"none\"</script>"; 
+1

s'il vous plaît corriger vos fautes de frappe et les erreurs dans votre question. Si vous ne l'obtenez pas ici, comment pouvez-vous vous attendre à bien le faire dans votre code? –

+0

désolé. Je vais corriger les fautes de frappe. – JPro

+1

Pourquoi ne pas utiliser jQuery? Quelle est la structure de votre page? Quelle est la boucle que vous utilisez? –

Répondre

1

Appel flush() après la <div>. Si vous utilisez la mise en mémoire tampon de sortie, cela ne fonctionnera pas. Voir le manuel de la fonction.


Si vous ne voulez pas l'élément soit visible dans la source la sortie utilise JS. Au lieu d'écrire directement le <div> dans le code html écrire ceci:

<script type="text/javascript"> 
    document.write('<div id="loading">Loading Results...</div>'); 
</script> 

<?php flush() ?> 

<!-- output some html --> 

<script type="text/javascript"> 
    var loader = document.getElementById('loading'); 
    loader.parentNode.removeChild(loader); 
    // This will not just hide the element, but remove it from the DOM, . 
</script> 
+0

merci. ça a marché. Mais y a-t-il un moyen de supprimer cet élément, afin de ne pas le voir lorsque la source est vue? – JPro

+0

Je suppose que vous pourriez pirater le comportement en affichant une balise de style pour définir la visibilité du texte de chargement caché ... C'est * hacky, cependant. :) – ZombieSheep

+0

Non, il est impossible de supprimer l'élément de la source visible. Il peut être supprimé de l'arborescence DOM, mais la plupart des navigateurs disposant d'une fonctionnalité "Afficher la source" affichent la page telle qu'elle a été générée pour la première fois, non après que JavaScript a eu la possibilité de modifier le DOM. Pourquoi voudriez-vous le supprimer? Ne pourriez-vous pas plutôt avoir une page de chargement, puis rediriger vers la page de résultats actuelle? –

Questions connexes