2017-06-01 2 views
1

Je ne vois pas où je vais me tromper. Mon code est ...Mettre en majuscule le premier caractère de la saisie de texte

function firstC() 
    { 
     var x = document.getElementsByClassName("uValue"); 

     for(var i = 0; i < x.length; i++) { 
      x.value.charAt(0).toUpperCase(); 
     } 
    } 

Il est appelé par ...

<td><input type="text" name="firstname" value="(required)" id="firstName" class="uValue" onclick="empty(this.id)" onblur="firstC()" /></td> 

La fonction fonctionne correctement empty() en supprimant la valeur de la zone d'entrée si sa valeur est « (nécessaire) », mais je ne peux pas obtenir la fonction firstC() pour mettre en majuscule le premier caractère de n'importe quelle entrée.

EDIT: J'utilise getElementsByClassName car il y a plusieurs boîtes d'entrée que j'essaye de permettre d'utiliser la même fonction.

Répondre

2

Vous avez oublié d'affecter la valeur de retour

function firstC() 
    { 
     var x = document.getElementsByClassName("uValue"); 

     for(var i = 0; i < x.length; i++) { 
      x[i].value = x[i].value.charAt(0).toUpperCase() + x[i].value.substr(1); 
     } 
    } 
+0

Encore ne fonctionnera pas :( – JavaNovice

+0

Désolé, vous avez manqué l'index aussi :-) (Correction dans la réponse) – Nosyara

+0

Ah putain! Je dois venir ici plus souvent, bien avant de passer des heures à me creuser la tête. Cela fonctionne - merci beaucoup! :RÉ – JavaNovice

2

Vous devriez plutôt passer le this dans votre inline JS eventers:

onclick="empty(this)" onblur="firstC(this)" 

Exemple

function empty(el) { // el now refers to the this referrer 
 
    el.value=""; 
 
} 
 

 
function firstC(el) { 
 
    var val = el.value; 
 
    el.value = val.charAt(0).toUpperCase() + val.substr(1); 
 
}
<input type="text" onclick="empty(this)" onblur="firstC(this)" value="(required)" id="firstName" class="uValue" name="firstname">

PS: ne pas oublier qu'au lieu d'utiliser empty() et value="(required)" vous pouvez simplement utiliser le placeholder attrib te

placeholder="(required)" 
+0

Merci pour votre réponse. C'est agréable de voir des méthodes alternatives pour faire les choses, et j'ai testé celui-ci aussi, donc je sais que ça marche :). Merci pour les informations sur l'espace réservé, aussi! – JavaNovice

+0

Vous êtes les bienvenus Matt! Codage heureux! –