Méthode trim() et IOS [Résolu]

Signaler
-
 Celio -
Bonjour,

J'utilise la méthode trim() dans un champ de formulaire et je viens de m'apercevoir que l'espace inséré automatiquement après un mot validé dans le dictionnaire du clavier IOS n'est pas effacé par cette méthode.

Une idée pour résoudre ce problème ?

Merci d’avance pour votre précieuse aide.

1 réponse

Messages postés
31087
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 janvier 2021
3 192
Bonjour,

IOS.. ok... mais avec quel navigateur ?
Si le navigateur n'accepte pas la fonction trim, tu peux essayer avec
function myTrim(x) {
  return x.replace(/^\s+|\s+$/gm,'');
}

function myFunction(){
  var str = myTrim("        Hello World!        ");
  alert(str);
}

Et si ça ne marche toujours pas... il faudrait récupérer le code ascii du caractère en question car il se peut que ça ne soit pas un espace ...
>
Messages postés
31087
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 janvier 2021

A condition de bien l'écrire, en effet. Merci!

Je me souviens pourquoi j'avais choisi keyup plutôt que change. Avec ce dernier, il faut quitter le champ pour lancer la fonction. Or j'aimerais que le contrôle sur le champ se fasse en continu... Décidément, ma requête est embêtante...
Messages postés
31087
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 janvier 2021
3 192 > Celio
laisse les deux méthodes..
>
Messages postés
31087
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 janvier 2021

Sauf que la méthode keyup pose le problème décrit initialement, et la méthode change demande de quitter le champ. La combinaison des deux méthodes ne règlent donc malheureusement pas le problème (je viens de vérifier, au cas où).
Messages postés
31087
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 janvier 2021
3 192 > Celio
Je ne vois pas en quoi, le onchange "demande à sortir" ...
A la limite, tu pourrais faire le contrôle sur le onblur ( en plus du onkeyup )
Mais le souci ne se situe pas lorsque tu remplis le champ je pense... mais avant d'utiliser son contenu. D'où ma recommandation tout à l'heure de relancer la vérification au moment où tu te sers du contenu... (code que nous n'avons pas )
>
Messages postés
31087
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 janvier 2021

La méthode change est lancée lorsqu'il n'y a plus de focus sur l'input.

Vous m'avez mis sur la piste cela dit, et j'ai trouvé quelque chose qui semble faire le travail (je ne parviens pas à expliquer pour quelle raison). A éprouver, mais qu'en dites-vous ?

    $('#test').on("input", function(){
        clearTimeout(timer);
        timer = setTimeout(check_test, 800);
    });