Appel fonction sur un champs text

Signaler
-
Messages postés
32944
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 juin 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
32944
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 juin 2021
351
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);">