Liste déroulante HELLLP !

lara 01 -  
Yuh12 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je souhaiterais créer une liste déroulante et lorsqu'on fait un choix dans cette liste, la résultat correspondant (page html) s'ouvre dans la même page en dessous de la liste dans la balise <div> que j'ai créé et appelé 'dateContenu' mais je n'y arrive pas.
Le résultat s'ouvre à la place de la page actuelle.

2 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour
    Pourrais tu nous montrer ton code histoire qu'on essaye de comprendre ce que tu cherches a faire. ...

    0
    1. lara 01
       
      bonjour,
      voici mon code:
       <p><FORM><select name="ListeUrl" onChange="ChangeUrl(this.form)">
      
       <!--<optgroup label="2009">-->
              <option value="indic.php"> 2009</option>
              <option value="grp1-page2.php">2010</option>
              <option value="grp1-page3.php">2011</option>
              <option value="grp1-page4.php">2012</option>
      
      </select></FORM></p>
      
      // avec :
      
      <script language="JavaScript"> 
      function ChangeUrl(formulaire) 
         { 
         if (formulaire.ListeUrl.selectedIndex != 0) 
            { 
           var url ; 
           url = formulaire.ListeUrl.options[formulaire.ListeUrl.selectedIndex].value; 
           window.open(url,'_blank'); 
             } 
         } 
      </script> 
      

      merci de m'aider :)


      EDIT : Ajout des balises de code
      Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
      Explications disponibles ici :
      https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
      0
  2. Yuh12 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   24
     
    window.open cela veut dire que tu ouvres une nouvelle page
    '_blank' cela veut dire que tu ouvres un nouvel onglet

    window.open(url,'_blank') te permet de mettre le contenu de ta variable "url" dans une nouvelle page + nouvel onglet.

    Si tu veux mettre les informations dans la div 'id=dateContenu' il faut le lui préciser en javascript.

    document.getElementById('dateContenu').html('url');
    ou alors
    document.getElementById('dateContenu').append('url');

    Je suis habitué à coder en jquery je ne suis pas sûr que .html() et .append() existent en JS normal donc je ne suis pas sûr que mon code convienne à ton cas, mais en tout cas je pense que c'est par là qu'il faut chercher :) .
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      @Yuh12 : En pure JS ... .html() s'écrit : innerHTML
      Par contre... le code que tu lui donnes ne permet pas quoi qu'il en soit de faire ce qu'elle souhaite....
      là tel que tu l'as écrit... ça écrira le mot 'url' dans la div ...mais c'est tout

      Pour mettre DANS sa page le contenu de la page à laquelle fait référence l' url .... il faut :
      Soit utiliser une IFRAME soit passer par de l'ajax....
      0
    2. Yuh12 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   24
       
      Alors en effet je suis désolé j'ai mis des guillemets à url, au temps pour moi, et effectivement ça n'écrira que du texte => Je parlais de sa variable url.
      Donc on oublie mon html('url') et on remplace par innerHTML=url

      Il donc suffit de remplacer la ligne
      window.open(url,'_blank');

      Par
      document.getElementById('dateContenu').innerHTML=url;


      Et j'ai testé ça fonctionne pas besoin d'ajax :)
      0