Appel fonction sur un champs text

- - Dernière réponse : jordane45
Messages postés
25041
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 mars 2019
- 3 juil. 2018 à 17:18
Bonjour,

j'ai récupéré une fonction en Javascript pour créer des séparateurs de milliers lors de la saisie d'un montant.

Malheureusement j'ai essayé de faire appel à cette fonction mais elle ne marche pas ou j'ai peut être mal fait mon code (je débute en JS)

Si possible, quel est l'erreur et si la fonction est bien construite pour créer les séparateurs de milliers

function thousands (that) { 
 var j = 0; 
 var temp = ""; 
 var what = that.value.replace(/ /g,"" ); 
 if (what.length < 4) return; 
 for (i=what.length; i>-1; i--) { 
 temp = what.charAt(i) + temp; 
 if (i > 0 && j == 3) { 
 temp = " " + temp; 
 j = 0; 
 } 
 j++; 
 } 
 that.value = temp; 
 }


<input type="text" name="test" length="15" onkeyup="thousands(this.value);">



Merci d'avance pour votre aide
Afficher la suite 

Votre réponse

1 réponse

Messages postés
25041
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 mars 2019
364
0
Merci
Bonjour,

Commence par retirer le .value de
 thousands(this.value);


mais personnellement.. si ton but est d'ajouter un espace tous les 3 caractères, tu peux utiliser
function formatNumberSep(elm){
    elm.value = elm.value.toString().replace(/\s/g,'').replace(/(.{3})/g, "$1 ");
}
    

<input type="text" name="test" length="15" onkeyup="formatNumberSep(this);">

Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.