Méthode trim() et IOS

Résolu/Fermé
Celio - 30 déc. 2020 à 11:21
 Celio - 2 janv. 2021 à 20:57
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.
A voir également:

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
30 déc. 2020 à 13:32
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 ...
0
Bonjour,

J'ai essayé avec deux navigateurs, Safari et Firefox, avec le même résultat. J'ai également essayé la solution proposée, sans davantage de succès.

C'est une bonne idée de trouver le code ascii. J'ignore en revanche comment le faire depuis un iPhone (ou tout autre appareil fonctionnant avec IOS). Vous pouvez m'aider ?

Bien cordialement,
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > Celio
30 déc. 2020 à 14:54
Tu fais une boucle sur chaque caractère de la string
Tu y utilises charCodeAt
Tu affiches, via un ALERT le résultat
0
Celio > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
2 janv. 2021 à 13:07
Bonjour jordane45, et bonne année à vous,

Merci pour votre aide et navré de n'avoir pas donné de suite plus rapidement.

J'ai utilisé la méthode indiquée, et à ma grande surprise, le texte en décimal renvoyé est le 32, soit un espace tout à fait standard. Pourtant si je l'efface, puis en rajoute un, ma fonction trim() fait bien le boulot. Un vrai mystère, je ne sais plus quoi faire. Cet espace (prédictif en quelque sorte, car il permet d'insérer le mot suivant sans avoir à presser sur la touche espace), force est de constater, n'est pas pris en compte par le trim(), car pas inséré "réellement" via un appui de la touche sur la clavier.
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > Celio
2 janv. 2021 à 13:20
Faudrait nous montrer comment tu appelles ton code...
La solution se trouve cartaient là..
0
Celio > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
Modifié le 2 janv. 2021 à 15:05
Oui sans doute, et je n'ai sûrement pas les bonnes pratiques en la matière. J'ai fait cela ainsi :
test = $("#test").val().trim();
0