Liste déroulante HELLLP !

Fermé
lara 01 - 21 janv. 2015 à 00:33
Yuh12 Messages postés 184 Date d'inscription mercredi 7 mai 2014 Statut Membre Dernière intervention 28 septembre 2017 - 23 janv. 2015 à 13:06
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

jordane45 Messages postés 38392 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 janvier 2025 4 731
21 janv. 2015 à 08:14
Bonjour
Pourrais tu nous montrer ton code histoire qu'on essaye de comprendre ce que tu cherches a faire. ...

0
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 mercredi 7 mai 2014 Statut Membre Dernière intervention 28 septembre 2017 24
22 janv. 2015 à 15:04
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 38392 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 janvier 2025 4 731
22 janv. 2015 à 16:17
@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 mercredi 7 mai 2014 Statut Membre Dernière intervention 28 septembre 2017 24
Modifié par Yuh12 le 23/01/2015 à 13:08
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