FORM / SELECT

toradoshi
Messages postés
57
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
3 janvier 2010
- 8 oct. 2009 à 11:26
toradoshi
Messages postés
57
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
3 janvier 2010
- 9 oct. 2009 à 14:49
Bonjour,

ça doit être idiot comme question mais je tourne en rond
depuis un certain temps alors je me jette !
j'ai un form name="myform"
et un element type : select name="mois"
mois est remplit dynamiquement par un array contenant les 12 mois de l'annee.

Et mon probleme :
Lors du chargement de la page que le mois en cours soit
déja sélectionné automatiquement dans ma liste.
(liste de 12 lignes sans blancs)



Grand MERCI d'avance !!

40 réponses

Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
8 oct. 2009 à 11:50
Bonjour,
document.myform.mois.selectedIndex=new Date().getMonth();

si j'ai compris la question...
Cordialement [mon Site] [M'écrire] Bul
0
toradoshi
Messages postés
57
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
3 janvier 2010

8 oct. 2009 à 13:35
Bonjour Bul3,

Je viens de tester ... malheureusement j'ai une erreur en retour ...
je vais me refaire un test avec une page moins remplie pour verifier ...

@ toute ...
0
toradoshi
Messages postés
57
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
3 janvier 2010

8 oct. 2009 à 13:42
Re:

Oui en effet dans une page avec moins de code ça tourne !

bon ya du rangement a faire visiblement ...

Merci Bul3 !!
0
toradoshi
Messages postés
57
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
3 janvier 2010

8 oct. 2009 à 13:46
Bul3,

SVP encore une petite :

J'ai un bouquin qui n'explique très bien les choses d'ou
une certaine perte de temps ici et là ...

Quand on utilise "date.getDay()" on obtient un index de jour
par rapport a une semaine. Mais si je veux obtenir la date du
jour, comment faire ? exemple le 25 du mois ?

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
8 oct. 2009 à 13:48
>>j'ai une erreur en retour

peut-être !!!!! mais :
1° laquelle ?
2° quand/que/où/comment... faites-vous ?

car je vous assure que cela fonctionne
si vous faites correctement

je ne peux pas citer toutes les pistes
possibles d'erreurs, j'en oublierais
et ce serait bien trop long

allons... ch'tiot exemple qui fonctionne

c'est quand même grave que ce soit moi
qui doive mettre un exemple, alors qu'on
ne sait même pas comment vous vous faites !!!!
comment corriger vos erreurs si vous ne nous
fournissez rien ?

<form name="myform">
<select name="mois">
<option value="1">Janvier</option>
<option value="2">Février</option>
<option value="3">Mars</option>
<option value="4">Avril</option>
<option value="5">Mai</option>
<option value="6">Juin</option>
<option value="7">Juillet</option>
<option value="8">Août</option>
<option value="9">Septembre</option>
<option value="10">Octobre</option>
<option value="11">Novembre</option>
<option value="12">Décembre</option>
</select>
</form>
<script type="text/javascript">
document.myform.mois.selectedIndex=new Date().getMonth();
</script>

et faites attention à l'ordre des lignes,
n'oubliez pas que le html/javascript
c'est de l'interprété
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
8 oct. 2009 à 13:54
ah... on se croise !
heureux de vous entendre dire que ça baigne !
doc sur html/javascript ici

téléchargeable, en français, gratis
"elle date un peu", mais bon...
quand à "vos dates" : c'est ici
0
toradoshi
Messages postés
57
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
3 janvier 2010

8 oct. 2009 à 14:01
Oui désolé j'avais un peu de mal a rentrer mon texte de question
d'origine et j'ai supposé que ça venait du marquage HTML qui me
bloquait ... du coup j'ai fait un texte au plus simple en essayant
de me faire comprendre ... Désolé ...

Pour le code de ma page, je suis un peu honteux du fourbi donc
je n'oserais pas déballer trop quand même ... mais c'etait bon
dès le premier essai (après un coup de balai ici quoi).

Merci encore je vais regarer les liens proposés.

Au fait sympa le gif
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
8 oct. 2009 à 14:17
pas à avoir honte de ce qu'on fait,
celui qui se gausserait ferait
probablement bien pire ;o)
le seul souci c'est... la taille
il faut poster l'extrait, le nécessaire,
tout le nécessaire, mais rien que le nécessaire
d'ailleurs, mettre en forme sa question,
ça permet, très souvent, de résoudre seul

>>sympa le gif
n'est-il pas ? parfois, je remplace par ,
mais ça n'a plus rien à voir ;o)
0
toradoshi
Messages postés
57
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
3 janvier 2010

8 oct. 2009 à 14:31
désolé je n'ai pas décodé le second ... un peu rouillé
en plus mon apprentissage devait être une forme peu
academique ...

Pour ce qui est du Javascript/HTML, nous aurons probablement
d'autres échanges ... je débute ...

Merci encore !
0
toradoshi
Messages postés
57
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
3 janvier 2010

8 oct. 2009 à 14:35
au fait ...


>>j'ai une erreur en retour
>>>>peut-être !!!!! mais :
>>>>1° laquelle ?

Laquelle = bien incapable de dire quoi au juste a certains moments
à peu-près "ou" passe encore ... ... bref suite au prochain
épisode ...
0
toradoshi
Messages postés
57
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
3 janvier 2010

8 oct. 2009 à 14:40
et encore une couche :
( sauf erreur impossible d'éditer un précédent post ... )

je ne suis pas sur d'avoir la solution ...
dans ma liste de mois a fournir, c'est rempli via
une liste dans un Array, les accents sont tres mal digérés ...
mon PC ayant l'habitude de voir des pages avec du japonais,
ça me sort des jolis pâtés à la place des accents ...

Ce ne serait pas une histoire d'ISO-??? a declarer en debut de page ?
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
8 oct. 2009 à 14:51
vous n'utilisez peut-être pas
les outils à vnotre disposition ?


>>les accents sont très mal digérés ...
incompatibilité affichage/source/meta content-type !
( à ce propos, pourquoi donc utiliser un array ?
mettre direct dans le select ne convient pas ? )
par exemple :
votre source est en UTF-8 sans bom
dans le <head> il faut mettre
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

et à priori,
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
sinon.

faut être "compatible" source/ affichage html
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
8 oct. 2009 à 15:15
>>désolé je n'ai pas décodé le second
si vous parlez de la 2ème main,
ce n'est plus du "langage des signes"
( quoique...
ça exprime parfaitement ce qu'on veut dire ;o)
0
toradoshi
Messages postés
57
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
3 janvier 2010

8 oct. 2009 à 15:21
oui la première option était déjà décochée et maintenant la seconde aussi.

Par contre après relecture de la page une erreur est ressortie :
Erreur : 'obj2.options[...]' a la valeur Null ou n'est pas un objet.

if (obj.name=="moi1")
{obj2=myform.jou1;myform.moi2.selectedIndex=myform.moi1.selectedIndex
if (obj.name=="moi2")
{obj2=myform.jou2;}
obj2.options.length=max
for (i=0;i<=max;i++){obj2.options[i].text=i+1}

La derniere ligne ne lui plaît pas visiblement ...
(Max est renseigné précédemment selon le mois max=nb jours)

je ne suis pas sur que chaque erreur trouvée soit réelle ? ...
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
8 oct. 2009 à 15:29
pas assez de billes, mais
[i]length, c'est le nombre d'options
les n° des options peuvent varier de 0 à length-1/i
il faut mieux utiliser document.name_du_formulaire.name_des_éléments

sinon Fx et les autres ne vont pas apprécier je pense
0
toradoshi
Messages postés
57
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
3 janvier 2010

8 oct. 2009 à 15:52
Bon même en modifiant un peu la chose l'erreur ne part pas, je colle donc le sac de billes :

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function maxd(idx,nom)
{
if (idx==1 || idx==3 || idx==5 || idx==7 || idx==8 || idx==10 || idx==12){return 31;}
if (idx==4 || idx==6 || idx==9 || idx==11){return 30;}
if (idx==2)
{
if (nom=="moi1"){annee=document.myform.ans1.options[myform.ans1.selectedIndex].text}
else {annee=document.myform.ans2.options[myform.ans2.selectedIndex].text}
if (annee%4==0){return 29;}
else {return 28;}
}
}

function adapt(obj)
{

fobj=document.myform

valeur = obj.selectedIndex+1
max=maxd(valeur,obj.name)
if (obj.name=="moi1"){obj2=fobj.jou1;fobj.moi2.selectedIndex=fobj.moi1.selectedIndex}
if (obj.name=="moi2"){obj2=fobj.jou2;}
obj2.options.length=max
for (i=0;i<=max;i++){obj2.options[i].text=i+1}
obj.blur()
}

function diff(form)
{
fobj=document.myform
m1=fobj.moi1.options.selectedIndex+1
alert(m1)
tan1=fobj.ans1.options[myform.ans1.options.selectedIndex].text
tan2=fobj.ans2.options[myform.ans2.options.selectedIndex].text
alert(tan1)
}
</SCRIPT>
</HEAD>

<CENTER>
Demande de Réservation
<HR>
<FORM NAME="myform">
Arrivée <SELECT NAME="jou1" onchange="diff()"></SELECT> <SELECT NAME="moi1" onchange="adapt(this)"></SELECT> <SELECT NAME="ans1"></SELECT>
Départ <SELECT NAME="jou2" onchange="diff()"></SELECT> <SELECT NAME="moi2" onchange="adapt(this)"></SELECT> <SELECT NAME="ans2"></SELECT>
Adultes <SELECT NAME="adu"></SELECT> Enfants <SELECT NAME="enf"></SELECT>

</FORM>
<SCRIPT LANGUAGE="JavaScript">
fobj=document.myform
mois=new Array("Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre")
date=new Date();year=date.getYear();

fobj.jou1.options.length=31;myform.jou2.options.length=31;
for(i=0;i<31;i++){fobj.jou1.options[i].text=i+1;fobj.jou2.options[i].text=i+1;}

fobj.moi1.options.length=12;myform.moi2.options.length=12;
for(i=0;i<mois.length;i++){fobj.moi1.options[i].text=mois[i];fobj.moi2.options[i].text=mois[i];}

fobj.moi1.selectedIndex=new Date().getMonth();
fobj.moi2.selectedIndex=new Date().getMonth();

fobj.ans1.options.length=4;fobj.ans2.options.length=2;
fobj.ans1.options[0].text=year;fobj.ans1.options[1].text=year+1;fobj.ans2.options[0].text=year;fobj.ans2.options[1].text=year+1;

fobj.adu.options.length=10;
for(i=0;i<10;i++){fobj.adu.options[i].text=i+1;}
fobj.enf.options.length=11;
for(i=0;i<11;i++){fobj.enf.options[i].text=i;}
fobj.adu.options[0].value="1";

adapt(fobj.moi1);adapt(fobj.moi2);
</SCRIPT>

</HTML>
0
toradoshi
Messages postés
57
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
3 janvier 2010

8 oct. 2009 à 16:01
J'ai bien rajouté les 2 lignes, mais après le premier accent trouvé
n'est pas ressorti j'ai un carré vide a la place ...

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
8 oct. 2009 à 16:12
ben déjà comme dit :


for (i=0;i<=max;i++){obj2.options[i].text=i+1}
il va planter car i doit varier de 0 à max-1 !
for (i=0;i<max;i++)

>>J'ai bien rajouté les 2 lignes,
1 seule !
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
probablement !
vous utilisez un éditeur ? lequel ?
perso j'use de Notepad++, PlainEditNet, voire Komodo
tous permettent de définir avec quel "codage" on sauve
la source. le meta pour l'affichage doit correspondre
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
8 oct. 2009 à 16:31
j'ai rectifié les "document." manquant, mis <max,
mis des accents... et ça baigne ( IE, Fx )
par contre :
<script type="text/JavaScript">
fobj=document.myform;

mois=new Array("Janvier","Février","Mars","Avril",
"Mai","Juin","Juillet","Août","Septembre",
"Octobre","Novembre","Décembre");
...
je mettrais directement en dur, dans le select
moins on code, mieux on se porte

pas tout regardé... trés loin là
0
toradoshi
Messages postés
57
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
3 janvier 2010

8 oct. 2009 à 17:15
Très juste la ligne avec ISO-8859-1 restitue l'accent.

pour l'editeur, basique : le bloc note windows.

pour les rectifs, idem ici : actuellement plus de message d'erreur



Grand Merci Bul3 !!
0