Page 1 sur 2
liste dynamique jumelée (dreamweaver Mx 2004)
Posté : 07 sept. 2006, 14:30
par fred9999
Bonjour,
VOila je travaille sous dreamweaver mx 2004 mais chut chut pas de marque !!!!
et je cherche le moyen de dynamisé une liste déroulante en fonction de la première.
explication :
voila dans ma première liste j'ai des horaires et j'aimerai qu'en fonction de celle sélectionnée on ne puisse pas choisir une horaire inférieur.
Comment es ce possible en utilisant les fonctions dreamweaver??
Posté : 07 sept. 2006, 14:56
par fred9999
Désolé,
non mais en fait laissé tomber je viens de me rendre compte de la connerie que je viens de demander

.
je vous passe mon code et je vous explique ce que je veut réaliser :
Code : Tout sélectionner
<?
if(isset($_POST['change_style']))
// On vérifie que le formulaire a été soumis
{
// On fait un cookie d'une année de durée pour garder en mémoire le style choisi et le récupérer à la prochaine visite
setcookie('style', $_POST['style'], time()+(365*24*3600)) ;
// Si le fichier *.css existe on définit une variable $css correspondant au style choisi
$css = $_POST['style'] ;
$css="$css.css";
}
elseif(isset($_COOKIE['style']))
// Si le formulaire n'a pas été soumis, on vérifie si le cookie style existe et si tel est le cas on définit une variable $css correspondant à ce style
{
$css = $_COOKIE['style'];
$css="$css.css";
}
else
// Si le cookie n'existe pas et que le formulaire n'a pas été soumis, on définit une variable $css correspondant au style par défaut, ici un_style.css par exemple
{
$css = "ml.css" ;
}?>
<html>
<head>
<title>Site de la mission local de RENNES</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?php
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../".$css."\">\n" ;
?>
</head>
<body>
<table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
<tr>
<td bordercolor="#000000" bgcolor="#009900"><div align="center"><strong>Ajout de réunion dans le module AGENDA </strong></div></td>
</tr>
</table>
<br>
<table width="100%" border="1" bordercolor="#000000" cellpadding="0" cellspacing="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
<tr>
<td width="17%"> </td>
<td width="39%">Heure de début </td>
<td width="44%">Heure de fin </td>
</tr>
<tr>
<td>Horaires : </td>
<td><select name="select">
<option>8h30 / 9h</option>
<option>10h</option>
<option>11h</option>
<option>13h30 / 14h</option>
<option>15h</option>
<option>16h</option>
</select></td>
<td><select name="select2">
<option>10h</option>
<option>11h</option>
<option>12h / 12h30</option>
<option>15h</option>
<option>16h</option>
<option>17h / 17h30</option>
</select></td>
</tr>
<tr>
<td>Lieu :</td>
<td><input name="textfield" type="text" size="50"></td>
<td> </td>
</tr>
<tr>
<td>Thème : </td>
<td><input name="textfield2" type="text" size="50"></td>
<td> </td>
</tr>
<tr>
<td>Animation : </td>
<td><input name="textfield3" type="text" size="50"></td>
<td> </td>
</tr>
<tr>
<td><p>Invité : </p> </td>
<td><input name="textfield4" type="text" size="50"></td>
<td> </td>
</tr>
<tr>
<td>Participants : </td>
<td colspan="2"> </td>
</tr>
<tr>
<td> </td>
<td colspan="2">Nombre :
<input type="text" name="textfield5">
Personnes. </td>
</tr>
<tr>
<td> </td>
<td colspan="2">Condition :
<input name="textfield42" type="text" size="50"></td>
</tr>
<tr>
<td> </td>
<td colspan="2">Possibilté d'inscription :
<input type="radio" name="radiobutton" value="radiobutton">
Oui
<input type="radio" name="radiobutton" value="radiobutton">
Non</td>
</tr>
<tr>
<td> </td>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="3"><div align="center">
<input type="submit" name="Submit" value="Envoyer">
</div></td>
</tr>
<tr>
<td> </td>
<td colspan="2"> </td>
</tr>
</table></td></tr></table>
</body>
</html>
voila et ce que je veut faire c'est que en fonction de la première liste on ne me propose pas de valeur inférieur dans la seconde.
a mon avis il doit falloir du javascript mais peut etre pas....

[/php]
Posté : 07 sept. 2006, 15:33
par Truc
Heureusement que tu t'es rattrapé en postant une 2ème fois
On ne peut pas TOUT demander à ce pauvre DW par simple clics
Pour ce que tu veux faire c'est faisable en PHP ou Javascript à toi de voir si tu veux recharger la page après le choix de l'utilisateur dans la 1ère liste ou non.
Plus simple en PHP, suffit de comparer la valeur POST récupérée après chargement avec les "value" des option pour savoir s'il faut afficher ou non.
En Javascript regarde ce
post
Posté : 07 sept. 2006, 15:44
par fred9999
en fait je connais pas le javascript
je l'utilise parfois a l'aide de script récupéré sur le net

A part pour le history go -1
mai la je vois pas a quoi tt ça correspond
peut tu m'aider a y voir + clair

Posté : 07 sept. 2006, 15:59
par Truc
On se lance dans la version PHP ou Javascript ?
Pour le JS une boucle parcourt la liste (select) puis supprime les éléments (option) qui ne doivent pas apparaitre.
Posté : 07 sept. 2006, 16:01
par fred9999
allons y pour le js sinon mes utilisateurs vont gueuler
ils comprennent pas tjs le travail que demande le boulot d'informaticien

Posté : 07 sept. 2006, 16:10
par Truc
Et bien je commence par déplacer le post dans le forum approprié... je réfléchis un peu et reviens

Posté : 07 sept. 2006, 16:13
par fred9999
oki thank amigo !!!
quand a moi je suis grace a mes deux écrans 8)
j'ai déplacé la fonction javascript dans ma page donc hé bien une petite scéance de code :
<?
if(isset($_POST['change_style']))
// On vérifie que le formulaire a été soumis
{
// On fait un cookie d'une année de durée pour garder en mémoire le style choisi et le récupérer à la prochaine visite
setcookie('style', $_POST['style'], time()+(365*24*3600)) ;
// Si le fichier *.css existe on définit une variable $css correspondant au style choisi
$css = $_POST['style'] ;
$css="$css.css";
}
elseif(isset($_COOKIE['style']))
// Si le formulaire n'a pas été soumis, on vérifie si le cookie style existe et si tel est le cas on définit une variable $css correspondant à ce style
{
$css = $_COOKIE['style'];
$css="$css.css";
}
else
// Si le cookie n'existe pas et que le formulaire n'a pas été soumis, on définit une variable $css correspondant au style par défaut, ici un_style.css par exemple
{
$css = "ml.css" ;
}?>
<html>
<head>
<title>Site de la mission local de RENNES</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?php
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../".$css."\">\n" ;
?>
<script language="JavaScript" type="text/JavaScript">
<!--
for (
var i = document.recherche_nom.hfin.options.length; i >= 0 ; i--)
{
if(document.recherche_nom.hdep.options[i].selected) // si l'option est sélectionnée
document.recherche_nom.hfin.options[i] = null; // on la supprime
}
//-->
</script>
</head>
<body>
<table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
<tr>
<td bordercolor="#000000" bgcolor="#009900"><div align="center"><strong>Ajout de réunion dans le module AGENDA </strong></div></td>
</tr>
</table>
<br>
<table width="100%" border="1" bordercolor="#000000" cellpadding="0" cellspacing="0">
<tr>
<td>
<form action="agenr.php" method="post">
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
<tr>
<td width="17%"> </td>
<td width="39%">Heure de début </td>
<td width="44%">Heure de fin </td>
</tr>
<tr>
<td>Horaires : </td>
<td><select name="hdep" id="hdep">
<option>8h30 / 9h</option>
<option>10h</option>
<option>11h</option>
<option>13h30 / 14h</option>
<option>15h</option>
<option>16h</option>
</select></td>
<td><select name="hfin" id="hfin">
<option>10h</option>
<option>11h</option>
<option>12h / 12h30</option>
<option>15h</option>
<option>16h</option>
<option>17h / 17h30</option>
</select></td>
</tr>
<tr>
<td>Date</td>
<td><input name="date" type="text" id="date" value="00/00/0000" size="11" maxlength="10"></td>
<td> </td>
</tr>
<tr>
<td>Lieu :</td>
<td><input name="lieu" type="text" id="lieu" size="50"></td>
<td> </td>
</tr>
<tr>
<td>Thème : </td>
<td><input name="theme" type="text" id="theme" size="50"></td>
<td> </td>
</tr>
<tr>
<td>Animation : </td>
<td><input name="anim" type="text" id="anim" size="50"></td>
<td> </td>
</tr>
<tr>
<td><p>Invité : </p> </td>
<td><input name="guest" type="text" id="guest" size="50"></td>
<td> </td>
</tr>
<tr>
<td>Participants : </td>
<td colspan="2"> </td>
</tr>
<tr>
<td> </td>
<td colspan="2">Nombre :
<input name="nbpart" type="text" id="nbpart">
Personnes. </td>
</tr>
<tr>
<td> </td>
<td colspan="2">Condition :
<input name="inscri" type="text" id="inscri" size="50"></td>
</tr>
<tr>
<td> </td>
<td colspan="2">Possibilté d'inscription :
<input type="radio" name="poss" value="radiobutton">
Oui
<input type="radio" name="poss" value="radiobutton">
Non</td>
</tr>
<tr>
<td> </td>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="3"><div align="center">
<input type="submit" name="Submit" value="Envoyer"></form>
</div></td>
</tr>
<tr>
<td> </td>
<td colspan="2"> </td>
</tr>
</table>
</td></tr></table>
</body>
</html>
voila ou j'en suis

Posté : 07 sept. 2006, 16:53
par fred9999
I'll be back tomorrow

Posté : 07 sept. 2006, 17:41
par Truc
Oh ben personne n'est parfait
changement de méthode... on ne supprime plus au fur et à mesure de la liste mais on la créée au fur et à mesure.
Fonctions JS :
//fonction pour vider la liste
function vider()
{
var lg = document.f.hfin.options.length-1;
for (var i = lg; i>=0; i--)
{
document.f.hfin.options[i] = null; //suppression de l'option
}
}
function construire(valeur)
{
// création des tableaux de "value" et libellé
var tab_value = Array(10,11,12,15,16,17);
var tab_libelle = Array("10h","11h","12h / 12h30","15h","16h","17h / 17h30");
var nb_elem=0;
vider(); // on vide la liste
//création des nouvelles options
for (var i =0; i< tab_value.length; i++)
{
if(tab_value[i] > valeur) //si l'élément à créer est supperieur à celui de la liste sélectionné
{
var new_option = new Option(tab_libelle[i],tab_value[i]); // création de l'option
document.f.hfin.options[nb_elem]=new_option; //ajout de l'option
nb_elem++;
}
}
document.f.hfin.options[0].selected=true; // sélectionner le 1er élément de la liste
}
HTML :
<select name="hdep" id="hdep" onchange="construire(this.value);">
<option value="8" >8h30 / 9h</option>
<option value="10">10h</option>
<option value="11">11h</option>
<option value="13">13h30 / 14h</option>
<option value="15">15h</option>
<option value="16">16h</option>
</select>
<select name="hfin" id="hfin">
<option value="10">10h</option>
<option value="11">11h</option>
<option value="12">12h / 12h30</option>
<option value="15">15h</option>
<option value="16">16h</option>
<option value="17">17h / 17h30</option>
</select>
ça devrait faire l'affaire........ mais ce n'est pas une habitude à prendre... d'attendre un code tout cuit

Posté : 08 sept. 2006, 08:47
par fred9999
merci
Je pense que je vais devoir acheter un autre livre après dreamweaver,
flash 8 ....
Il va me fallloir un livre sur le javascript et l'actionscript.
tu fais pas d'édition ou de cours du soir
merci encore en tout cas sur ce monseigneur .... a plus tard.
Posté : 08 sept. 2006, 08:52
par fred9999
EN fait ça ne fonctionne pas je vais voir si je peut triuver l'erreur mai
comme j'y connais RIEN en js .....
@+
Posté : 08 sept. 2006, 09:17
par fred9999
En fait je ne comprend rien
donc si qqun avai la gentilesse de m'aider je lui serait reconnaissant
<?
if(isset($_POST['change_style']))
// On vérifie que le formulaire a été soumis
{
// On fait un cookie d'une année de durée pour garder en mémoire le style choisi et le récupérer à la prochaine visite
setcookie('style', $_POST['style'], time()+(365*24*3600)) ;
// Si le fichier *.css existe on définit une variable $css correspondant au style choisi
$css = $_POST['style'] ;
$css="$css.css";
}
elseif(isset($_COOKIE['style']))
// Si le formulaire n'a pas été soumis, on vérifie si le cookie style existe et si tel est le cas on définit une variable $css correspondant à ce style
{
$css = $_COOKIE['style'];
$css="$css.css";
}
else
// Si le cookie n'existe pas et que le formulaire n'a pas été soumis, on définit une variable $css correspondant au style par défaut, ici un_style.css par exemple
{
$css = "ml.css" ;
}?>
<html>
<head>
<title>Site de la mission local de RENNES</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?php
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../".$css."\">\n" ;
?>
<script language="JavaScript" type="text/JavaScript">
<!--
function vider()
{
var lg = document.f.hfin.options.length-1;
for (var i = lg; i>=0; i--)
{
document.f.hfin.options[i] = null; //suppression de l'option
}
}
function construire(valeur)
{
// création des tableaux de "value" et libellé
var tab_value = Array(10,11,12,15,16,17);
var tab_libelle = Array("10h","11h","12h / 12h30","15h","16h","17h / 17h30");
var nb_elem=0;
vider(); // on vide la liste
//création des nouvelles options
for (var i =0; i< tab_value.length; i++)
{
if(tab_value[i] > valeur) //si l'élément à créer est supperieur à celui de la liste sélectionné
{
var new_option = new Option(tab_libelle[i],tab_value[i]); // création de l'option
document.f.hfin.options[nb_elem]=new_option; //ajout de l'option
nb_elem++;
}
}
document.f.hfin.options[0].selected=true; // sélectionner le 1er élément de la liste
}
//-->
</script>
</head>
<body>
<table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
<tr>
<td bordercolor="#000000" bgcolor="#009900"><div align="center"><strong>Ajout de réunion dans le module AGENDA </strong></div></td>
</tr>
</table>
<br>
<table width="100%" border="1" bordercolor="#000000" cellpadding="0" cellspacing="0">
<tr>
<td>
<form action="agenr.php" method="post">
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
<tr>
<td width="17%"> </td>
<td width="39%">Heure de début </td>
<td width="44%">Heure de fin </td>
</tr>
<tr>
<td>Horaires : </td>
<td>
<select name="hdep" id="hdep" onchange="construire(this.value);">
<option value="8" >8h30 / 9h</option>
<option value="10">10h</option>
<option value="11">11h</option>
<option value="13">13h30 / 14h</option>
<option value="15">15h</option>
<option value="16">16h</option>
</select>
</td>
<td>
<select name="hfin" id="hfin">
<option value="10">10h</option>
<option value="11">11h</option>
<option value="12">12h / 12h30</option>
<option value="15">15h</option>
<option value="16">16h</option>
<option value="17">17h / 17h30</option>
</select>
</td>
</tr>
<tr>
<td>Date</td>
<td><input name="date" type="text" id="date" value="00/00/0000" size="11" maxlength="10"></td>
<td> </td>
</tr>
<tr>
<td>Lieu :</td>
<td><input name="lieu" type="text" id="lieu" size="50"></td>
<td> </td>
</tr>
<tr>
<td>Thème : </td>
<td><input name="theme" type="text" id="theme" size="50"></td>
<td> </td>
</tr>
<tr>
<td>Animation : </td>
<td><input name="anim" type="text" id="anim" size="50"></td>
<td> </td>
</tr>
<tr>
<td><p>Invité : </p> </td>
<td><input name="guest" type="text" id="guest" size="50"></td>
<td> </td>
</tr>
<tr>
<td>Participants : </td>
<td colspan="2"> </td>
</tr>
<tr>
<td> </td>
<td colspan="2">Nombre :
<input name="nbpart" type="text" id="nbpart" size="5" maxlength="10">
Personnes. </td>
</tr>
<tr>
<td> </td>
<td colspan="2">Condition :
<input name="inscri" type="text" id="inscri" size="50"></td>
</tr>
<tr>
<td> </td>
<td colspan="2">Possibilté d'inscription :
<input type="radio" name="poss" value="1">
Oui
<input name="poss" type="radio" value="0" checked>
Non</td>
</tr>
<tr>
<td> </td>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="3"><div align="center">
<input type="submit" name="Submit" value="Envoyer"></form>
</div></td>
</tr>
<tr>
<td> </td>
<td colspan="2"> </td>
</tr>
</table>
</td></tr></table>
</body>
</html>
C'est bien comme ça qu'on le passe le code ???
sinon je vois pas
Posté : 08 sept. 2006, 09:43
par Truc
remplace le nom du formulaire par le tient :
document.f
Posté : 08 sept. 2006, 09:52
par Truc
Faudrait même ajouter un attribut => name="f"
Pour débugger du javascript la console JS de Firefox n'est pas mal
