Liste déroulante HELLLP !

lara 01 -  
Yuh12 Messages postés 184 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.

A voir également:

2 réponses

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

0
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
Yuh12 Messages postés 184 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
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
@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
Yuh12 Messages postés 184 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