Bonsoir à tous,
Je voudrais mettre en majuscules les premières lettres d'un prénom composé. Pour cela j'ai écrit le code suivant :
Si la fonction marche pour le prénom simple ; en revanche pour le prénom composé elle ne fait rien. Je ne vois pas où je fais l'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Un formulaire en CSS</title> <link href="SP01_js.css" type="text/css" rel="stylesheet" /> <script type="text/javascript"> function mettreMajuscule() { //J'accede tout d'abord au nom saisi avec la methode getElementById var leNomSaisi = document.getElementById("leNomId").value; //le nom saisi est mis en majuscule avec la methode toUpperCase var leNomModifie=leNomSaisi.toUpperCase(); //Je modifie la variable saisie document.getElementById("leNomId").value=leNomModifie; } </script> <script type="text/javascript"> // Fonction pour un prenom non compose function premLetMaj() { var lePrenomSaisi = document.getElementById("lePrenomId").value; //La methode charAT de l'objet String un caractere que l'on transforme en majuscule avec toUpperCase //Avec la methode substring on retourne un bout de la valeur de la variable que l'on force en minuscule var lePrenomModifie=lePrenomSaisi.charAt(0).toUpperCase() + lePrenomSaisi.substring(1).toLowerCase(); document.getElementById("lePrenomId").value=lePrenomModifie; } </script> <script type="text/javascript"> //Fonction pour un prenom compose function formatePrenom(){ var lePrenomSaisi = document.getElementById("lePrenomId").value; //on verifie s'il s'agit d'un prenom compose en recherchant la presence d'un separateur (tiret ou espace) if (lePrenomSaisi.indexOf("-")!=-1){ var separateur="-"; } else if(lePrenomSaisi.indexOf("")!=-1){ var separateur=""; } else{ //si on n'a pas trouve alors c'est un prenom simple et on met la 1er lettre en majuscule en appelant la fonntion //premLetMaj() return(premLetMaj()); } //Ce code est lu uniquement dans le cas de prenom compose var prenom_array=lePrenomSaisi.split(separateur); for(i=0; i<prenom_array.length; i++){ prenom_array[i]=premLetMaj(prenom_array[i]); } var prenomFormat=prenom_array.join(separateur); return prenomFormat; } </script> </head> <body> <div style="width:600px";> <form name="leForm" method="post" action="script.php"> <p class="titre">Coordonnées </p> <!--La balise fieldset crée un contour autour des balises de formulaires qu'elle entoure--> <fieldset id="coordonnees"> <!--La balise label permet lorsque l'on clique sur son texte de donner le focus à un champ de formulaire--> <p id="civilite"> <label>Civilité : </label> <input type="radio" name="Civilité" value="M." />M. <input type="radio" name="Civilité" value="Melle." />Melle. <input type="radio" name="Civilité" value="Mme." />Mme. </p> <label>Nom : </label> <input type="text" name="leNom" size="30" id="leNomId" onchange="mettreMajuscule()" /><br /> <label>Prénom : </label> <input type="text" name="lePrenom" size="30" id="lePrenomId" onchange="formatePrenom()" /><br /> <label>Adresse : </label> <input type="text" name="adresse" size="30" /><br /> <label>Code postal : </label> <input type="text" name="codepostal" size="30" /><br /> <label>Ville : </label> <input type="text" name="ville" size="30" /><br /> <label>Télephone : </label> <input type="text" name="telephone" size="30" /><br /> <label>Adresse courriel : </label> <input type="text" name="courriel" size="30" /><br /> <p id="interets"><label>Centre d'intérets : </label> <!--Nous créons des cases à cocher et récupérons la valeur cochée dans une variable de type tableau en php--> <input type="checkbox" name="interets[]" value="langageProgrammation" />Langage programmation <input type="checkbox" name="interets[]" value="htmlCss" />Html et Css <br /> <input type="checkbox" name="interets[]" value="photoshop" />Photoshop <br /> <input type="checkbox" name="interets[]" value="developpementWeb" />Developpement Web </p> </fieldset> <p class="titre">Message</p> <fieldset id="message"> <!--zone de texte crée avec textarea pour mettre des commentaires--> <textarea name="comments" rows="5" cols="40"></textarea> </fieldset> <!--Création des boutons submit et reset--> <p id="buttons"> <input type="submit" value="envoyer" /> <input type="reset" value="effacer" /> </p> </form> </div> </body> </html>
Si quelqu'un peut me guider je l'en remercie vivement.
Bon dimanche
Partager