Appel fonction sur un champs text

Signaler
-
Messages postés
31129
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 janvier 2021
-
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

1 réponse

Messages postés
31129
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 janvier 2021
342
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);">