begin process at 2012 05 29 13:45:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Message alert qui coupe la page


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Message alert qui coupe la page

mardi 26 juillet 2011 à 18:55:48 | Message alert qui coupe la page

stealone

Bonjour j'ai une petite difficulté sur mes pages web dans le code source j'ai des messages alert pour des avertissements, confirmation... alors lorsque 'enregistre par exemple une donnée dans la bd je fais un message de confirmation si le messages est bien enregistré ou d'avertissement si il y a un risque de doublon. le problème est que lorsque le message s'affiche la page est à moitié coupée elle est coupé je pense au niveau ou il ya le code source du message alors comment faire pour afficher le message après le chargement complet de toute la page. Merci
Mon code est du genre:

Code PHP :
 <?php 
   $sql = mysql_query("SELECT COUNT(*) AS nb FROM Matable WHERE ceci = cela");
   $verif = mysql_fetch_array($sql);
   if($verif['nb'] > 0)
      {
        ?><script language ="javascript">alert("Cet entrée existe déja");</script>
          <script language ="javascript">location="continuer.php"</script><?php
      }


Tout ce qui brille n'est pas or.
mardi 26 juillet 2011 à 19:00:10 | Re : Message alert qui coupe la page

stealone

Voi ci le même code avec la correction des erreurs.

Code PHP :
 <?php 
   $sql = mysql_query("SELECT COUNT(*) AS nb FROM Matable WHERE ceci = '$cela'");
   $verif = mysql_fetch_array($sql);
   if($verif['nb'] > 0)
      {
        ?><script language ="javascript">alert("Cet entrée existe déja");</script>
          <script language ="javascript">location="continuer.php"</script><?php
      }
/* le massage ja va s'affiche avant que la page soit totalemment chargée. j'ai même essayé de mettre le code à la fin du code mais sans succès*/
?>
mercredi 27 juillet 2011 à 13:32:02 | Re : Message alert qui coupe la page

mikeyjoy

Salut stealone,
Je ne suis pas un expert, mais voici comment je vois ton problème:
Le Javascript n'est pas un code "bloquant". C'est-à-dire qu'il n'attend pas qu'une instruction soit terminée pour passer à la suivante.
Donc, dans ton cas de figure voici ce qu'il se passe d'après moi: l'ordre est donné d'afficher ta page, la page commence à s'afficher mais l'instruction suivante est tout de suite interprétée avant que la page soit complètement affichée; la vérification ($verif...) se fait et affiche l'alert, peu importe si la page soit complètement affichée ou pas.

Voici ce que j'essayerais à ta place:
1° Différer l'alert de quelques millisecondes, genre :
Code Javascript :
setTimeout("alert('Cet entrée existe déja')", 800);

Peut-être que cela suffira. Je ne sais pas exactement ce qu'il y a dans ta page qui s'affiche. C'est clair c'est pas une écriture joli-joli et c'est de la bricole, mais à toi de voir.

2° Je ne sais pas par quelles fonctions tu affiches ta page mais si c'est par exemple avec une boucle qui traite les élément d'un tableau successivement, tu peux faire que seulement lorsque le dernier élément du tableau a été afficher que tu arrêtes la boucle (par un break par ex., en javascript) et seulement alors l'instruction suivant est lue.

3° Tu peux aussi remplacer ta fenêtre d'alert par l'affichage d'une DIV personnalisée. Comme ça l'affichage de ta page continue en arrière plan. (En effet les fenêtre d'alert bloquent la lecture du code).

Voilà j'espère que ça t'aura été utile .
++
jeudi 28 juillet 2011 à 11:32:40 | Re : Message alert qui coupe la page

coucou747

Administrateur CodeS-SourceS
Bonjour,

"Le Javascript n'est pas un code "bloquant". C'est-à-dire qu'il n'attend pas qu'une instruction soit terminée pour passer à la suivante. "
C'est faux...

Ce qu'il faut, c'est lancer l'alert sur l'evenement onLoad

Cordialement,

Maxime
jeudi 28 juillet 2011 à 11:56:13 | Re : Message alert qui coupe la page

jmeunier


Bonjour,

Code PHP :
<?php 
   $sql = mysql_query("SELECT COUNT(*) AS nb FROM Matable WHERE ceci = cela");
   $verif = mysql_fetch_array($sql);
 ?>

Code Javascript :
	<script language ="javascript">
	v="<?php echo $verif['nb'] ?>"*1
	if (v > 0)
		{
		alert("Cet entrée existe déja")
		}
	else
		{
		document.location="continuer.php"
		}
	</script>

jako
vendredi 5 août 2011 à 02:19:47 | Re : Message alert qui coupe la page

stealone

Un grand et gigantesque merci à tous les deux, tous d'abord j'ai toujours éviter le java script parce qu'il est je dirais pas difficile mais un peu complexe. Mais compte tenu des avantages de dynamisme qu'il offre j'ai été obligé de lui emprunter quelque bout de code genre message alert et quelque contrôles des formulaire.
Pour ce qui est de ma page je faits justement des vérifications des données récupérées dans un formulaire avec les regex version php. et si quand toutes les données sont épurées je les enregistre tout en voulant éviter les doublons: un petit code:
Code PHP :
if(!empty($_POST))	
   {
     $nom = $_POST['nom'];
     $prenom = $_POST['prenom'];
     $Matricule = $_POST['matricule'];
     $retour = 1;
     $erreur = new array(); // le tableau des erreurs
    
     if(preg_match("#°=~&#164;£²µ%ù§!:;,_\<\>@`#", $Prenom))
      {
       $erreur["Prenom"][] = "Le prénom que vous avez inséré contient des caractères non autorisés";								          $retour=0;
      }	
  //même vérification pour toutes les variables post
    if (count($erreur) == 1 AND $retour == 0) 
      {
        echo "<div class=\"Affiche_erreur\">Une erreur a été détectée. Veuillez la corriger:<br />";   
	echo "<ul>";
           foreach ($erreur as $champEnErreur => $erreursDuChamp) 
	    {
              echo "<li>"; echo "<font color='#FF0000'>$message_erreur</font>"; echo"</li>";
            }
     }
       echo "</ul> <br /> 
	<a href=\"javascript:history.go(-1);\"><button title =\"Cliquez ici pour retourner au formulaire d'inscription\">Corriger le champ erroné</button></a>"; 

if (count($erreur) == 0 )
   {
     $sql = mysql_query("SELECT COUNT(*) AS nb FROM Matable WHERE ceci = '$cela'");
      $verif = mysql_fetch_array($sql);
      $val = true;
   if($verif['nb'] > 0)
      { $val = false;
        ?><script language ="javascript">alert("Cet entrée existe déja");</script><?php
      }
    if($val == true)
      {
        // insertion deans la bd suivi du message de confirmation et de la redirection
       ?><script language="Javascript">alert("Les informations ont été enregistrées avec    succès!");/script> <?php
      }
/* Voila un peu un exemple de ce que je fais comme code je sais que c'est pas le forum approprié pour le php mais j'ai osé*/
?>
   } 
                                
}
else{
      // on affiche le formulaire
    }					         


Et merci encore à vous.
Tout ce qui brille n'est pas or.


Cette discussion est classée dans : message, page, code, php, alert


Répondre à ce message

Sujets en rapport avec ce message

récupéré le code html généré par le php [ par matmax ] J'aimerai ouvrir une page qui contient seulement les données essentielles (générées en php). Donc, peut être qu'il est possible de récupérer ( en java prob éxécution js / et balises <table> [ par zeraxp ] salut,alors voila j'ai une fonction javascript qui est appelé sur lévenement on submit d'un formulaire:....<input type="submit" value=Re variable javascript envoyée dans un formulaire vers page php [ par DzinVolt_Original ] Bonjour a tous, je voudrais envoyer une variable Javascript dans un formulaire pour pouvoir l'utiliser ensuite dans une page en PHP voici le code java exécution de code php dans du javascript [ par sarril ] Bonjour, sur une page, j'ai créé un bouton pour détruire une donnée. Lors du clic, j'appelle une page qui affiche une boite de dialogue de type confi window.open code ??? [ par gilissen ] Bonjour,Alors voici mon problème1. J'ai crée un page php dans laquelle, j'ai mis un liens vers un autre page php<a target="_blank" href="<A href="http Contrôle de checkbox [ par Zebra1928 ] Bonjour,j'ai le morceau de code suivant en PHP:"> <input name="Valider" Vote +1 aidez moi plz [ par drazika ] Salut, alors voilà, j'ai mon système de vote ici et j'aimerais que vous m'aidiez pour faire en sorte que la page ne se rafraichisse pas, donc je crois Chemin vers une page PHP [ par Peoxus ] Bonjour, Je ne sais pas si c'est bien ici que je dois poser ma question stupide. J'ai suivi le tuto http://www.tutorialspoint.com/ajax/ajax_database LE contenu entier de la page est remplacé et pas uniquement le div [ par joptitchou84 ] Hello :) J'ai un problème avec mon script de notation étoilé que j'essaye de faire. (c'est la première fois que je bosse avec javascript) Au lieu de disclaimer cookie [ par Rohenheim ] Bonjour, Avant d'introduire mon sujet j'aimerais dire que j'ai cherché la réponse à ma question dans tout le forum et même sur d'autres avant de post


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales