Appel fonction sur un champs text

- - Dernière réponse : jordane45
Messages postés
25575
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 mai 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
25575
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 mai 2019
311
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