Liste déroulante

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: Liste déroulante

Message par Ymai »

PoppyGuy a écrit :Quand je copie le code dans "source" et que je fais "conception", et que je reviens dans "source", il y a toute une partie qui à disparue
Exact... Le Javascript disparaît :? Je n'avais pas testé dans KpZ. Mais il ne fallait pas s'attendre à ce que la voiture avance en perdant son moteur.
En re-copiant collant le texte en bonne place, par parties, il semble bien rester complet.
Attention aussi à l'encodage. Là, j'ai supposé utf-8; mais je vois que mon KompoZer est configuré pour de l'ISO-8859-1, par exemple. D'où un souci sur les caractères accentués.
J'en arrive alors à quelque chose comme:

Code : Tout sélectionner

<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>test</title>
<script type="text/javascript">
function go () {
var an = document.getElementById("annee").value;
var mois = document.getElementById("mois").value;
if ((an != "") && (mois != "")) {
var url = mois+"_"+an+".html";
parent.location.href = url;
}
}
</script>
</head>
<body>
<form name="formulaire" id="formulaire" action="" method="">
<select name="annee" id="annee" onchange="go()">
<option value="">Choisir une année</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
</select>
<select name="mois" id="mois" onchange="go()">
<option value="">Choisir un mois</option>
<option value="/Janvier/Couleur_du_ciel">Janvier</option>
<option value="/Fevrier/Pressions.html">Fevrier</option>
<option value="/Mars/Recaps.html">Mars</option>
<option value="/Avril/Vent.html">Avril</option>
</select>
</form>
</body>
</html>

J'avoue que je ne sais pas pourquoi le Javascript reste (chez moi, en tous les cas) dans cette nouvelle version.
Sauf que la ligne

Code : Tout sélectionner

var url = mois+"_"+an+".html";
n'a plus aucun sens, en fonction des valeurs des deux listes. Je doute fort que les pages à viser soient nommées comme:
Pressions.html_2012.html
Il est nécessaire de penser un peu plus en profondeur cette ligne pour construire la bonne URL. Deux fois ".html" dans l'adresse de la page, c'est certainement abuser.
Dans le script original, je mettais à la suite (c'est le sens du signe "+" dans l'expression url = mois+"_"+an+".html" )
* le numéro du mois
* un tiret souligné
* le millésime
* la suite de caractères ".html".
Si les pages s'appellent selon une autre logique, il faut reconstruire selon cette autre logique.
Sans vouloir être désagréable, mettre à la suite:
* les caractères "/Fevrier/Pressions.html" (venant de la liste "mois")
* un tiret souligné
* le millésime (venant de la liste "annee")
* les caractères ".html"
ne peut mener à rien d'intéressant.
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
PoppyGuy
Lézard vert
Messages : 153
Inscription : 08 oct. 2011, 18:55

Re: Liste déroulante

Message par PoppyGuy »

Bonjour,

Oui, c'est tout bon !!! :)

Pour les html en double, comme je ne savais pas comment cela fonctionnait, j'avais laissé l'extention .html, mais maintenant, il me reste
var url = mois+".html";
Et là, ça fonctionne (si c'est ca qu'il fallait faire ?).

Merci de ta patience et de ton aide :wink:
Cordialement
Guy

Ps : Je suis entrain de me risquer à faire une 3ème liste pour choisir la page :x
Ça a l'air de fonctionner pour "janvier" mais pour "Février"...... :roll:

Code : Tout sélectionner

<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>test</title>
<script type="text/javascript">
function go () {
var an = document.getElementById("annee").value;
var mois = document.getElementById("mois").value;
var janvier = document.getElementById("janvier").value;

if ((an != "") && (mois != "")&& (janvier != "")) {
var url = mois+"/"+janvier+".html";

parent.location.href = url;
}
}
</script>
</head>
<body style="color: white; background-color: rgb(99, 5, 39);"
alink="#dcd296" link="#dcd296" vlink="#dcd296">
<form name="formulaire" id="formulaire" action="" method="">
<select name="annee" id="annee" onchange="go()">
<option value="">Choisir une Année</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
</select>
<select name="mois" id="mois" onchange="go()">
<option value="">Choisir un mois</option>
<option value="2011">Janvier</option>
<option value="2011">Fevrier</option>
</select>
<select name="janvier" id="janvier" onchange="go()">
<option value="">Choisir une page</option>
<option value="Janvier/Couleur_du_ciel">Ciel</option>
<option value="Janvier/Graphiques">Graphiques</option>
<option value="Janvier/Pressions">Pressions</option>
<option value="Janvier/Temperatures">Températures</option>
<option value="Janvier/Recaps">Récapitulatifs</option>
<option value="Janvier/Vent">Vitesse et sens du Vent</option>
<option value="Fevrier/Couleur_du_ciel">Ciel</option>
<option value="Fevrier/Graphiques">Graphiques</option>
<option value="Fevrier/Pressions">Pressions</option>
<option value="Fevrier/Temperatures">Températures</option>
<option value="Fevrier/Recaps">Récapitulatifs</option>
<option value="Fevrier/Vent">Vitesse et sens du Vent</option>
</select>
</form>
</body>
</html>
http://meteofloralies.free.fr
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 34 invités