Problème de capitalisation automatique

Résolu
Mike Phoenix Messages postés 9 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 16 décembre 2004 - 12 déc. 2004 à 04:41
Mike Phoenix Messages postés 9 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 16 décembre 2004 - 13 déc. 2004 à 19:47
Bonjour à tous,

J'ai encore un petit soucis avec un script, je suis débutant...

J'aimerais capitaliser automatiquement un champ text pour que la première lettre du message soit en majuscule et le reste en minuscules.

J'y suis presque arrivé mais je bute encore sur la fin, car toutes les lettres sont espacées par des virgules.
Je n'arrive pas à comprendre...

Je vous envois le code:

<html>
<head>
<script>
function capitalize()
{
var capitalisation=new Array();
for(var k=0;k<formulaire.message.value.length;k++)
{if(k==0) capitalisation[k]=formulaire.message.value.substr(k,1).toUpperCase();
else capitalisation[k]=formulaire.message.value.substr(k,1).toLowerCase();}
formulaire.message.value=capitalisation;
}
</script>
</head>

<center>
Capitaliser le texte :

Permet de mettre formater le texte en majuscule pour la première lettre
et le reste en minuscules.

<form action="reussi.html" method="post" name="formulaire">
<textarea name="message" rows="4" cols="55" wrap="virtual"></textarea>

</center>
</form>

</html>

4 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 déc. 2004 à 07:48
bonjour,
on pouvait éviter les boucles
un ch'tit exemple ?
<HTML>
<HEAD>
<TITLE></TITLE>
<script type="text/javascript">
var enc=false;
function modif(zone)
{if (!enc)
{var t=zone.value.charAt(0).toUpperCase();
t+=zone.value.substring(1,zone.value.length).toLowerCase();
enc=true;
zone.value=t;
enc=false;	}	}
</script>
</HEAD>

</HTML>

ici le 1er caractère uniquement en majuscule
on peut jouer aussi avec le style="text-transform:???"
pour d'autres possibilités.
Cordialement Bul. [Site] [[mailto:marcelBultez@Tiscali.fr Mail]]
3
Mike Phoenix Messages postés 9 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 16 décembre 2004
13 déc. 2004 à 04:09
Re à tous,

Je n'ai pas eu de réponse mais ce n'est pas grave, après avoir fait sérieusement chauffer mes neurones j'ai finalement trouvé la solution...

Il me suffisait de redéfinir la valeur en la joignant.

Voici le code final :

<html>
<head>
<script>
function capitalize()
{
var capitalisation=new Array();
for(var k=0;k<formulaire.message.value.length;k++)
{if(k==0) capitalisation[k]=formulaire.message.value.substr(k,1).toUpperCase();
else capitalisation[k]=formulaire.message.value.substr(k,1).toLowerCase();}
formulaire.message.value=capitalisation.join("");
}
</script>
</head>

<center>
Capitaliser le texte :

Permet de mettre formater le texte en majuscule pour la première lettre
et le reste en minuscules.

<form action="reussi.html" method="post" name="formulaire">
<textarea name="message" rows="4" cols="55" wrap="virtual"></textarea>

</center>
</form>

</html>
0
Mike Phoenix Messages postés 9 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 16 décembre 2004
13 déc. 2004 à 19:06
Bonjour,

Merci beaucoup pour ton exemple qui va lui aussi me servir.

L'avantage de mon petit script précédent, c'est qu'il met tout le reste en minuscules, ce qui peut être pratique pour la saisie du nom.

Pour être franc, j'ai encore beaucoup de mal à assimiler les scripts avec des appels du genre 'fonction modif(zone)'.

C'est pour cela que je reste dans le cadre du 'fonction modif()' pour pouvoir plus facilement les integrer dans un autre script plus global.

Par contre je vais essayer d'approfondir ton script pour Capitaliser le premier caractère du message, vérifier la présence d'un point à la fin de ce message et en mettre un si jamais il est absent.

Cordialement.
0
Mike Phoenix Messages postés 9 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 16 décembre 2004
13 déc. 2004 à 19:47
Heu,

Toutes mes excuses, je suis mal réveillé, ton script fait tout à fait la même chose.

Merci encore pour ton aide.

Cordialement.
0
Rejoignez-nous