Majuscule et minuscule

archi57 Messages postés 30 Date d'inscription dimanche 10 mars 2013 Statut Membre Dernière intervention 11 novembre 2017 - Modifié par archi57 le 9/08/2016 à 15:32
@karamel Messages postés 1854 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 8 avril 2024 - 11 août 2016 à 16:24
Bonjour,
suivant l'input suivant:
<input type="text" onChange="value=this.value.charAt(0).toUpperCase() + this.value.toLowerCase();" name="nom" size="52" maxlength="526">

qu'est ce qui cloche pour avoir un format de type: Tout en minuscule avec Majuscule pour la 1ère lettre de chaque mot ?
merci d'avance
@+

5 réponses

@karamel Messages postés 1854 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 8 avril 2024 153
9 août 2016 à 15:50
bonjour

il serait préférable de séparer le html du JavaScript



0
archi57 Messages postés 30 Date d'inscription dimanche 10 mars 2013 Statut Membre Dernière intervention 11 novembre 2017
10 août 2016 à 12:06
comment ?
0
@karamel Messages postés 1854 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 8 avril 2024 153
Modifié par @karamel le 10/08/2016 à 14:13
dans le code tu a les deux solutions avec la correction il manquait un this et il fallait aussi utilisé substr() pour récupérer le texte a partir de la position du deuxième caractère.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">

body{
 background-color:gray; 
}

</style>
<script>

function majuscule(lui){

lui.value=lui.value.charAt(0).toUpperCase() + lui.value.substr(1, lui.value.length-1).toLowerCase();

}
</script>
</head>
<body>

<input type="text" oninput="majuscule(this)" name="nom" size="52" maxlength="526">

<input type="text" oninput="this.value=this.value.charAt(0).toUpperCase() + this.value.substr(1, this.value.length-1).toLowerCase();" name="nom" size="52" maxlength="526">

</body>
</html>


rien ne sert de courir il faut partir a point.
cours Forest cours !
0
archi57 Messages postés 30 Date d'inscription dimanche 10 mars 2013 Statut Membre Dernière intervention 11 novembre 2017
Modifié par archi57 le 10/08/2016 à 15:18
Merci Karamel
Peut on mettre un seul input pour le Nom & Prénom ?
par ailleur j'ai remplacé Oninput par onchange
@+
0

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

Posez votre question
@karamel Messages postés 1854 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 8 avril 2024 153
Modifié par @karamel le 11/08/2016 à 16:28
essai ca j'ai mis oninput et onchange l'avantage de oninput c'est que c'est mis a jour a chaque frappe par contre ie ne le supporte pas

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>

<style type="text/css">

body{
 background-color:gray; 
}

</style>

<script>



function majuscule(lui){

var tb=lui.value.split(" ")

var modif=""

for(var i=0;i<tb.length;i++){

tb[i]=tb[i].charAt(0).toUpperCase() + tb[i].substr(1, tb[i].length-1).toLowerCase();
modif+= i==tb.length-1 ? tb[i] : tb[i]+" "
}

lui.value=modif

}

</script>

</head>
<body>

<input type="text" oninput="majuscule(this)" onchange="majuscule(this)" name="nom" size="52" maxlength="526">

</body>
</html>


techniquement je splite la chaine en fonction des espace afin de créer un tableau avec pour chaque indices un mots ensuite je refait l’opération d'ajout de majuscules pour chaque mot et je réinsert le tout dans le input

rien ne sert de courir il faut partir a point.
cours Forest cours !
0
Rejoignez-nous