Page 1 sur 2
boutons en fonction du nombre de jours
Posté : 04 juil. 2005, 16:23
par Justone
Bonjour,
Je voudrais savoir comment afficher plusieurs boutons en fonction du nombre de jours?
Par ex pour juillet 2005, il faudrait 31boutons numerotés de 1 à 31.
J'arrive a calculer le nombre de jours en fonction du mois et de l'année, alors comment faire pour afficher ensuite 31 boutons?
Posté : 04 juil. 2005, 16:26
par ouckileou
tu fais une boucle (for(), while())
tu utilises un compteur qui démarre à 1 et va jusqu'à 31, et à chaque tour de boucle tu mets dans ton bouton la valeur du compteur
Posté : 04 juil. 2005, 17:02
par guilt92
quoi comme boutons ?
des cases a cocher des boutons radio ou des boutons de validation ?
Posté : 04 juil. 2005, 17:59
par Justone
Alors j'ai fait la boucle. Merci pour l'aide...
Je voudrais savoir comment faire pour que lorsque l'utilisateur clic sur l'un des boutons, une fenetre de dialogue apparaissent.
Et si l'utilisateur repond oui a la question, comment faire faire pour que le bouton soit d'une autre couleur?
Merci
Posté : 04 juil. 2005, 18:37
par ouckileou
ça, ce sont deux question distinctes
et ce serait plus à sa place dans le forum Javascript
regarde ces choses là :
action au clic : inClick
ouvrir une fenêtre : window.open()
changer la couleur de fond : cherche les propriétés d'un champ input
Posté : 05 juil. 2005, 18:00
par Justone
J'aai reussi a faire changer de couleur les boutons lors d'un clic mais j'ai un probleme que je n'arrive pas à résoudre.
Je m'explique :
je fais appel a un champ de ma base de donnée, j'affiche la première valeur de ce champ puis des boutons.
ensuite j'affiche la deuxième valeur de ce champ puis des boutons.
etc...
lorsque je clic sur le bouton 5 de la deuxième valeur de mon champ, c'est le bouton 5 de la première valeur qui change de couleur!!
qqn sait d'ou peut venir l'erreur?
voici mon code :
Code : Tout sélectionner
<script language="javascript">
function conf(id)
{
var oui = confirm('Ok pour valider cette tache - Cancel pour la dévalider');
if(oui == true)
{
document.getElementById(id).style.color='#000000';
document.getElementById(id).style.background='#3CB371';
}
if(oui == false)
{
document.getElementById(id).style.color='#000000';
document.getElementById(id).style.background='#FFA07A';
}
}
</script>
mysql_select_db("arnis01");
$str_requete = "SELECT tache FROM liste WHERE periodicite='Daily'";
$o_result = mysql_query($str_requete) or die( 'Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); ;
while ($a_result = mysql_fetch_array($o_result)) {
echo "<b>".$a_result["tache"]."</b>";
for($i = 1; $i <= 12; $i++){
echo '<input type="button" style="width:27px; background-color: #FFA07A;" id="mon_id'.$i.'" onclick="conf(\'mon_id'.$i.'\');" value="'.$i.'" />';
}
}
Merci[/code]
Posté : 05 juil. 2005, 19:13
par ouckileou
regarde les identifiants de tes boutons dans le code source HTML généré, ils doivent être identiques d'une ligne à une autre
c'est pour ça que ta modification est effectuée sur le premier trouvé
Posté : 05 juil. 2005, 19:38
par Justone
J'ai du mal a comprendre ce que tu veux dire!
J'ai qu'une seul ligne pour mes boutons, j'utlise une boucle pour en afficher plusieurs! (voir mon code sur mon message précédent)
Posté : 05 juil. 2005, 21:22
par ouckileou
non, tu as deux boucles
une boucle pour chaque ligne de résultat
et une boucle pour faire 12 boutons à chaque ligne
donc pour chaque ligne de résultat tu as des boutons :
id="mon_id1", id="mon_id2", id="mon_id3", id="mon_id4"...
regarde dans le code source
Posté : 06 juil. 2005, 09:11
par Justone
ok j'suis d'accord avec toi
j'affiche un enregistrement de la base puis 12boutons numérotés de 1 à 12
puis un deuxième enregistrement de la base et 12 boutons de 1 à 12
et ainsi de suite
donc lorsque je clic sur le 5, c'est celui de la premiere ligne qui change de couleur
mais que dois je faire pour corriger cette erreur??
merci...
Posté : 06 juil. 2005, 09:15
par ouckileou
quand tu accèdes à un élément par getElementById(''), il faut que cet id soit unique, sinon forcément ça ne marche pas
donc comme là tu crées les mêmes à chaque ligne, il suffit de différencier chaque ligne...
avec un compteur par exemple, que tu inclus dans l'id, pour avoir quelquechose comme ça :
mon_id_ligne_mois
Posté : 06 juil. 2005, 10:41
par Justone
Merci bcp ouckileou!
Mais la ca fait plus d'une heure que je suis sur le probleme et je n'arrive a rien! La je craque!
J'ai bien compris d'ou venait le probleme, mais peux tu me dire ce que je dois faire dans mon code pour que ca fonctionne stp?
Excuse moi d'insister!
Merci pour ton aide
Posté : 06 juil. 2005, 10:43
par ouckileou
rajoute un deuxième compteur
tu le fais démarrer à 0 et tu l'incrémentes à chaque ligne de résultat (à chaque passage dans le while)
et tu utilises ce compteur pour créer tes identifiants de boutons (en plus de ce que tu utilises déjà, $i de 1 à 12)
tu auras donc des identifiants uniques, puisqu'aucun bouton n'aura le même numéro de ligne ET le même numéro de mois
Posté : 06 juil. 2005, 10:52
par Justone
C'est bon, ca fonctionne bien maintenant!!
Merci encore
J'ai une autre question :
Lorsque je clic sur certains boutons, il changent de couleur mais comment faire pour que ces choix restent enregistrer?
Merci...
Posté : 06 juil. 2005, 10:53
par ouckileou
ça, ça pourrait peut-être faire l'objet d'un autre post
mais enregistrés jusqu'à quand ? pour la visite ? jusqu'à la prochaine ?
il y a plusieurs solutions