Bonjour,

je cherche comment virer tous les espaces de mon text, lorsque l'utilisateur tape un espace ce dernier se vire directement de l'input.
je n'ai aucune idée pourquoi le code suivant ne marche pas

Ce que je fais

<script>
   $(document).ready(function () {
        var txt = $("#mails_supplementaires");
        var func = function() {
            txt.val(txt.val().replace(/\s/g, ''));
        };
        txt.keyup(func).blur(func);
    });
</script>

PS : mon input est dans une fenetre popup, car le code marche sur les autre input qui sont dans la même page (en dehors du popup)

6 réponses


Bonjour.

mon input est dans une fenetre popup, car le code marche sur les autre input qui sont dans la même page (en dehors du popup)

Ce qui veut donc dire que tu as le même ID plusieurs fois sur la même page, tu devrais savoir que c'est quelque chose qu'il ne faut surtout pas faire, pour rappel un ID est unique, tu ne peux donc pas définir plusieurs éléments d'une même page avec le même nom.

shiko
Auteur

salut,
et non pas du tout j'ai n'ai qu'un seul ID dans la page

Ce n'est donc pas ce code là qui fonctionne pour les autres input ?

Salut, étrange, je viens de tester sans faire de popup etc les espaces se retire bien que ce soit du texte collé directement dedans ou non , le souci viens certainement de ton selecteur, id, class etc .....

fait en une fonction et apelle la sur le callback de la popup on('bs.modal.show')

mails_supplementaires n'est peut etre pas connu au moment du chargement de ta page. d'où l'interet d'initialiser ton script une fois que la modal est bien présente (et visible) dans ta page.
shiko
Auteur

bonjour,
merci pour vos réponse, j'ai tout simplement créé une function comme ceci et ça marche :

<script>
     function remove_space_from_input(){ 
        var txt = $("#mails_supplementaires");
        txt.val(txt.val().replace(/\s/g, '')); 
    }
</script>

et bien sûr j'ai appelé la function dans mon input .
thanks