Problème avec le bouton onclick

Fermé
flexi2202 Messages postés 3798 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 3 mai 2024 - Modifié le 14 déc. 2021 à 21:57
flexi2202 Messages postés 3798 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 3 mai 2024 - 14 déc. 2021 à 23:08
bonjour a tous
décidément moi et javascript on fait pas bon ménage

j' essaye de réutiliser un code que j ai déjà dans mon site
le principe est le suivant quand l utilisateur clic sur le lien
il demande si il est d accord d être redirige

Mais cela ne se passe pas comme je veux
en effet a chaque fois que je clic sur le lien il recharge ma page
Cela fait 3 h00 que je cherche et avec un exemple en plus sous les yeux

voici le lien que l utilisateur doit cliquer d origine

<a class="button centre" target="_blank" style="width: 100px;margin-bottom:10px;" <?php     echo '  href="'.$valeur->link.'"';     ?>>Suite</a>



et voici le code pour la demande du rechargement de la page avec le lien modifie

<a class="button centre" target="_blank" style="width: 100px;margin-bottom:10px;" <?php     echo '  href="#"';     ?>"onclick="confirmation11()">Suite</a>





               <script>
function confirmationmenu11(){
 if (confirm("Vous êtes sur le point d'être redirigé pour remplir le formulaire de votre sortie de pêche  sur le nouveau site")) {
  alert("Il ce peux que la redirection prenne quelques secondes ");
  window.location = ''.$valeur->link.'';
 } else {
  alert("Vous ne serez donc pas redirigé");
 }
}
</script>   

4 réponses

jordane45 Messages postés 38154 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 4 652
14 déc. 2021 à 22:07
Bonjour
D'où vient ta variable $valeur->link ?

Et puis, il faudrait que tu nous montre l'ensemble de ton code et pas juste quelques extraits qui en l'état ne nous permettent pas de savoir ce que tu as bien fait ou non hormis quelques erreurs d'écriture que l'on pourra corriger lorsque tu nous auras tout montré
1
jordane45 Messages postés 38154 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 4 652
14 déc. 2021 à 23:02
Je ne vais pas essayer de t'expliquer tout ce qui ne va pas sinon je pense qu'on ne sera pas couché de bonne heure...
Donc en gros, ton code devrait ressembler à ça
<!-- debut article -->
<div class="col-md-3" style="padding-left: 0px;padding-right: 0px;">
<?php
//ici commence le RSS de wordpress
 if($flux = simplexml_load_file('http://pecheperle.be/category/nouveautes/feed/')) {
    $donnee = $flux->channel;
    // Initialiser le compteur.
    $compteur = 0;
    // Affiche les 3 derniers articles.
    $limite = 3;

   echo '<h3 style ="font-size: 1.50rem;font-weight: Bold;text-align: center;background-color:#ffff;">Dernières sorties de pêche</h3>';

        //on initialise la boucle 
   foreach($donnee->item as $valeur) {
    ?>

     <!-- on affiche le titre de l article de wordpress --> 
     <div class="row" style ="background-color:#ffff;">
        <div class="col-xl-12 col-lg-12 col-md-12">
           <h4 style ="font-size: 1.25rem;text-align: center;"> 
             <a style ="color: #000;" target="_blank" href="<?php echo $valeur->link; ?>"><?php echo $valeur->title;?></a>
           </h4>
        </div>
     </div>
     
     <!-- on affiche l image de l article et le lien vers la page wordpress --> 
     <div class="row" style="margin-bottom: 20px;background-color:#ffff;">
        <div class="col-xl-12 col-lg-12 col-md-12">
           <a target="_blank" href="<?php echo $valeur->link; ?>">
             <img alt="nouveautées de la pêche à la perle" src="<?php echo $valeur->post_thumbnail->url ;?> " style="display: block; margin-left: auto; margin-right: auto ;margin-bottom: 20px;"/>
           </a>
    
           <!-- on affiche un bouton suite dans lequel m utilisateur est redirige vers le site wordpress  --> 
           <a class="button centre" target="_blank" style="width: 100px;margin-bottom:10px;" href="<?php echo $valeur->link; ?>">Suite</a>
       
           <!-- EN TEST lorsque cela fonctionne j abandonne celui du haut ---on affiche un bouton suite dans lequel sera exécuté un code javascript afin que l utilisateur confirme son choix  --> 
           <a class="button centre" target="_blank" style="width: 100px;margin-bottom:10px;"  onclick="confirmation11(event,'<?php echo $valeur->link; ?>')">Suite</a>
        </div>
     </div>
     <?php    
   
      // Le compteur incrémente +1 à chaque affichage.
      $compteur++;
      
      // Arrête d'afficher les articles quand la valeur limite est atteinte.
      if ($compteur == $limite)
      break;
  }
} else {
  echo 'Le flux RSS du site pecheperle.be n\'a pas pu être chargé.';
}
?>
</div>
<!-- fin article -->



<!-- JS à placer juste avant le </body> de ta page -->
   <!-- le code javascript pour la confirmation de  utilisateur  --> 
<script>
  function confirmationmenu11(e,lien){
    e = e || window.event;
    e.preventDefault(); // pour empecher le lien de se déclencher "normalement"

    if (confirm("Vous êtes sur le point d être redirigé pour visionner la sortie de pêche sur le nouveau site")) {
      alert("Il ce peux que la redirection prenne quelques secondes ");
      window.location = lien ;
    } else {
      alert("Vous ne serez donc pas redirigé");
      return false;
    }
  }
 </script>


1
flexi2202 Messages postés 3798 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 3 mai 2024 187
14 déc. 2021 à 22:29
bonsoir jordane

oui en effet cela est mieux que je montre mon code complet
j'ai tendance a ne pas trop montrer pour ne pas trop encombrer
la variable provient d un flux rss

voici donc le code
je suis sur que c est juste un détail

<!-- debut article -->
<div class="col-md-3" style="padding-left: 0px;padding-right: 0px;">
   <?php
      //ici commence le RSS de wordpress
                     if($flux = simplexml_load_file('http://pecheperle.be/category/nouveautes/feed/'))
                     {
                         $donnee = $flux->channel;
       
                         // Initialiser le compteur.
                         $compteur = 0;
       
                         // Affiche les 3 derniers articles.
                         $limite = 3;
       
                     echo '<h3 style ="font-size: 1.50rem;font-weight: Bold;text-align: center;background-color:#ffff;">Dernières sorties de pêche</h3>';
      
      //on initialise la boucle 
                         foreach($donnee->item as $valeur)
                         {?>
						 
   <!-- on affiche le titre de l article de wordpress --> 
   <div class="row" style ="background-color:#ffff;">
      <div class="col-xl-12 col-lg-12 col-md-12">
         <h4 style ="font-size: 1.25rem;text-align: center;"> 
            <?php    	echo '  <a style ="color: #000;" target="_blank" href="'.$valeur->link.'">'.$valeur->title.'</a>';     ?>
         </h4>
      </div>
   </div>
   
   <!-- on affiche l image de l article et le lien vers la page wordpress --> 
   <div class="row" style="margin-bottom: 20px;background-color:#ffff;">
      <div class="col-xl-12 col-lg-12 col-md-12">
         <?php    	echo ' <a target="_blank" href="'.$valeur->link.'">'?> <img alt="nouveautées de la pêche à la perle" src="<?php echo $valeur->post_thumbnail->url ;?> " style="display: block;
            margin-left: auto;
            margin-right: auto ;margin-bottom: 20px;"/></a>
			
         <!-- on affiche un bouton suite dans lequel m utilisateur est redirige vers le site wordpress  --> 
         <a class="button centre" target="_blank" style="width: 100px;margin-bottom:10px;" <?php    	echo '  href="'.$valeur->link.'"';     ?>>Suite</a>
		 
         <!-- EN TEST lorsque cela fonctionne j abandonne celui du haut ---on affiche un bouton suite dans lequel sera exécuté un code javascript afin que l utilisateur confirme son choix  --> 
         <a class="button centre" target="_blank" style="width: 100px;margin-bottom:10px;" <?php    	echo '  href="#"';     ?> onclick="confirmation11()">Suite</a>
      </div>
   </div>
   <?php    
   
      // Le compteur incrémente +1 à chaque affichage.
      $compteur++;
      
      // Arrête d'afficher les articles quand la valeur limite est atteinte.
      if ($compteur == $limite)
      break;
      }
      }
      else {
      echo 'Le flux RSS du site pecheperle.be n\'a pas pu être chargé.';
      }
      ?>
	  
   <!-- le code javascript pour la confirmation de  utilisateur  --> 
   <script>
      function confirmationmenu11(){
      	if (confirm("Vous êtes sur le point d être redirigé pour visionner la sortie de pêche sur le nouveau site")) {
      		alert("Il ce peux que la redirection prenne quelques secondes ");
      		window.location = ''.$valeur->link.'';
      	} else {
      		alert("Vous ne serez donc pas redirigé");
      	}
      }
   </script>
</div>
<!-- fin article -->
0
flexi2202 Messages postés 3798 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 3 mai 2024 187
14 déc. 2021 à 23:08
ah justement j avais trouvé une solution pour que cela fonctionne
Merci pour le code jordane c est super sympa , ca sera un des derniers
je vais analyser cela
mais je présente quand même ma correction

<!-- debut article -->
<div class="col-md-3" style="padding-left: 0px;padding-right: 0px;">
   <?php
      //ici commence le RSS de wordpress
                     if($flux = simplexml_load_file('http://pecheperle.be/category/nouveautes/feed/'))
                     {
                         $donnee = $flux->channel;
       
                         // Initialiser le compteur.
                         $compteur = 0;
       
                         // Affiche les 3 derniers articles.
                         $limite = 3;
       
                     echo '<h3 style ="font-size: 1.50rem;font-weight: Bold;text-align: center;background-color:#ffff;">Dernières sorties de pêche</h3>';
      
      //on initialise la boucle 
                         foreach($donnee->item as $valeur)
                         {?>
						 
   <!-- on affiche le titre de l article de wordpress --> 
   <div class="row" style ="background-color:#ffff;">
      <div class="col-xl-12 col-lg-12 col-md-12">
         <h4 style ="font-size: 1.25rem;text-align: center;"> 
            <?php    	echo '  <a style ="color: #000;" target="_blank" href="'.$valeur->link.'">'.$valeur->title.'</a>';     ?>
         </h4>
      </div>
   </div>
   
   <!-- on affiche l image de l article et le lien vers la page wordpress --> 
   <div class="row" style="margin-bottom: 20px;background-color:#ffff;">
      <div class="col-xl-12 col-lg-12 col-md-12">
         <?php    	echo ' <a target="_blank" href="'.$valeur->link.'">'?> <img alt="nouveautées de la pêche à la perle" src="<?php echo $valeur->post_thumbnail->url ;?> " style="display: block;
            margin-left: auto;
            margin-right: auto ;margin-bottom: 20px;"/></a>
			
         <!-- on affiche un bouton suite dans lequel m utilisateur est redirige vers le site wordpress  --> 
         <a class="button centre" target="_blank" style="width: 100px;margin-bottom:10px;" <?php    	echo '  href="'.$valeur->link.'"';     ?>onclick="confirmation11()">Suite</a>
		 
       
      </div>
   </div>
   <?php    
   
      // Le compteur incrémente +1 à chaque affichage.
      $compteur++;
      
      // Arrête d'afficher les articles quand la valeur limite est atteinte.
      if ($compteur == $limite)
      break;
      }
      }
      else {
      echo 'Le flux RSS du site pecheperle.be n\'a pas pu être chargé.';
      }
      ?>
	  
   <!-- le code javascript pour la confirmation de  utilisateur  --> 
   <script>
      function confirmation11(){
      	if (confirm("Vous êtes sur le point dêtre redirigé pour visionner la sortie de pêche sur le nouveau site")) {
      		alert("Il ce peux que la redirection prenne quelques secondes ");
      		window.location = '';
      	} else {
      		alert("Vous ne serez donc pas redirigé");
      	}
      }
   </script>
</div>
<!-- fin article -->
0