Appel fonction sur un champs text

nabmoah - 3 juil. 2018 à 16:23 - Dernière réponse : jordane45 21674 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 juillet 2018 Dernière intervention
- 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

jordane45 21674 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 juillet 2018 Dernière intervention - 3 juil. 2018 à 17:18
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.