Javascript
Jean
-
The7thGuest -
The7thGuest -
Bonjour à tous !
Je chercher désespérement comment faire un TRIM en Javascript, càd supprimer les caractères blancs autour d'une chaîne de caractères. Je sais qu'en PHP et VB par exemple, la fonction est Trim(). Mais je ne sais pas comment le faire en Javascript.
Quelqu'un aurait-il une idée ?
Jean
Je chercher désespérement comment faire un TRIM en Javascript, càd supprimer les caractères blancs autour d'une chaîne de caractères. Je sais qu'en PHP et VB par exemple, la fonction est Trim(). Mais je ne sais pas comment le faire en Javascript.
Quelqu'un aurait-il une idée ?
Jean
4 réponses
salut !
je n'ai jamais essayé mais
est-ce que tu as déjà fait :
taVariable=taVariable.trim();
ça doit être le même principe que pour les fonctions qui touchent les chaînes de caractères comme par exemple pour mettre les caractères en minuscule:
taVariable=taVariable.toLowerCase();
ce n'est qu'une supposition de ma part...
tu me tiens au courant ?
Frank77
je n'ai jamais essayé mais
est-ce que tu as déjà fait :
taVariable=taVariable.trim();
ça doit être le même principe que pour les fonctions qui touchent les chaînes de caractères comme par exemple pour mettre les caractères en minuscule:
taVariable=taVariable.toLowerCase();
ce n'est qu'une supposition de ma part...
tu me tiens au courant ?
Frank77
Merci Frank de me répondre.
C'est ce que je pensais aussi. J'ai essayé çà et ça ne marche pas. Le plus intriguant est que j'ai un peit bouquin de Javascript
dans lequel on parle de tout (sur les chaînes de caractères) sauf cette histoire de Trim. Je suis bloqué dans un petit projet à cause de ça.
En fait j'ai un formulaire avec une zone "Texte area".
J'ai donc écrit un petite fonction Javascript pour tester si cette zone contient qqch:
function CheckCmiForm()
{
ltexte = document.cmicomment.message.value;
len = ltexte.length;
alert("Taille = "+len+" !");
if (document.cmicomment.message.value=="")
{
alert("Veuillez entrer un message !");
document.cmicomment.message.focus();
return false;
}
}
Le test ne marche pas parce qu'initialement, la zone texte "message" contient initialement 14 caractères blancs. C'est ce que m'affiche le petit message "Alert" que j'ai
placé au début de la fonction. Donc si je parviens à faire le Trim du contenu de cette zone texte avant de faire le test, ça irait.
Voila mon problème.
Jean
C'est ce que je pensais aussi. J'ai essayé çà et ça ne marche pas. Le plus intriguant est que j'ai un peit bouquin de Javascript
dans lequel on parle de tout (sur les chaînes de caractères) sauf cette histoire de Trim. Je suis bloqué dans un petit projet à cause de ça.
En fait j'ai un formulaire avec une zone "Texte area".
J'ai donc écrit un petite fonction Javascript pour tester si cette zone contient qqch:
function CheckCmiForm()
{
ltexte = document.cmicomment.message.value;
len = ltexte.length;
alert("Taille = "+len+" !");
if (document.cmicomment.message.value=="")
{
alert("Veuillez entrer un message !");
document.cmicomment.message.focus();
return false;
}
}
Le test ne marche pas parce qu'initialement, la zone texte "message" contient initialement 14 caractères blancs. C'est ce que m'affiche le petit message "Alert" que j'ai
placé au début de la fonction. Donc si je parviens à faire le Trim du contenu de cette zone texte avant de faire le test, ça irait.
Voila mon problème.
Jean
Si tu ne trouve pa la fonction equivalente au Trim VB en javascript, c peut etre que celle-ci n'existe pas. Et k'est ce ke fait un developpeur lorsqu'il ne trouve po une fonction toute faite ?????
...
Et bien il la code lui meme. Je pense que tu peux tres facilement creer ta fonction de Trim perso en javascript. Ainsi, ton probleme sera resolu.
Si tu n'y arrive pas , fais le moi savoir !
Br@scoo
...
Et bien il la code lui meme. Je pense que tu peux tres facilement creer ta fonction de Trim perso en javascript. Ainsi, ton probleme sera resolu.
Si tu n'y arrive pas , fais le moi savoir !
Br@scoo
Jean, d'où viennentt ces 14 caractères blancs ??
j'ai appliqué ton code sur un page test que voici :
***************
<html>
<body>
<script>
function CheckCmiForm()
{
ltexte = document.cmicomment.message.value;
len = ltexte.length;
alert("Taille = "+len+" !");
if (document.cmicomment.message.value=="")
{
alert("Veuillez entrer un message !");
document.cmicomment.message.focus();
return false;
}
}
</script>
<form name="cmicomment" onSubmit="return CheckCmiForm();" >
<textarea name="message"></textarea>
<input type="submit" value="valider">
</form>
</body>
</html>
***************
et ton code est correcte à condition que tu n'insères pas toi même les 14 entre les balises de textArea ... je suppose que tu parles plutôt d'un text par défaut non ?
sinon, je suis d'accord avec br@scoo ... ah ce br@scoo, s'il était pas là faudrait l'inventer lol :o)
Frank77
ps : ça me paraît bizarre que javaScript n'ait pas prévu de trim(), enfin bon, tout est possible :p
j'ai appliqué ton code sur un page test que voici :
***************
<html>
<body>
<script>
function CheckCmiForm()
{
ltexte = document.cmicomment.message.value;
len = ltexte.length;
alert("Taille = "+len+" !");
if (document.cmicomment.message.value=="")
{
alert("Veuillez entrer un message !");
document.cmicomment.message.focus();
return false;
}
}
</script>
<form name="cmicomment" onSubmit="return CheckCmiForm();" >
<textarea name="message"></textarea>
<input type="submit" value="valider">
</form>
</body>
</html>
***************
et ton code est correcte à condition que tu n'insères pas toi même les 14 entre les balises de textArea ... je suppose que tu parles plutôt d'un text par défaut non ?
sinon, je suis d'accord avec br@scoo ... ah ce br@scoo, s'il était pas là faudrait l'inventer lol :o)
Frank77
ps : ça me paraît bizarre que javaScript n'ait pas prévu de trim(), enfin bon, tout est possible :p
Je ne sais pas trop d'ou viennent ces caracteres blancs. C'est la premiere fois que j'ai un truc
pareil. Je vais encore bien verifier mon code et vous tient au courant. Toutefois, j'ai quand meme
l'impression d'avoir vu " " juste apres la balise </textarea>. Je vais verifier.
Ca me parait aussi bizarre qu'il n'y ait pas une fonction du type Trim en JS.
Jean
pareil. Je vais encore bien verifier mon code et vous tient au courant. Toutefois, j'ai quand meme
l'impression d'avoir vu " " juste apres la balise </textarea>. Je vais verifier.
Ca me parait aussi bizarre qu'il n'y ait pas une fonction du type Trim en JS.
Jean
Bonjour,
Voici mon code concernant le textarea:
<tr>
<td width="468"><textarea name="message" wrap="virtual" rows="8" cols="55"> </textarea></td>
</tr>
Quand j'ouvre le formulaire, Javascript me dit qu'il y a 14 caractères (blancs) dans ce champ. J'ignore d'où viennent ces caractères blancs.
Br@ascoo: Si tu as une petite fonction me permettant de faire un Trim, celle m'aiderait.
D'avance merci.
Jean.
Voici mon code concernant le textarea:
<tr>
<td width="468"><textarea name="message" wrap="virtual" rows="8" cols="55"> </textarea></td>
</tr>
Quand j'ouvre le formulaire, Javascript me dit qu'il y a 14 caractères (blancs) dans ce champ. J'ignore d'où viennent ces caractères blancs.
Br@ascoo: Si tu as une petite fonction me permettant de faire un Trim, celle m'aiderait.
D'avance merci.
Jean.
Salut Jean,
une ptite question, tu codes avec un éditeur html qui t'insère du code involontaire ou tu codes toi-même ? Ceci expliquerait le comment du pourquoi.
une autre question, tu es sous quel browser ?
néanmoins, j'ai testé ton code et dans mon cas, javascript me signale 1 caractère...
en effet y avait un espace entre les balises <textarea> et </textarea>....
ton code devrait marcher si tu ne mets rien entre ces balises (pas d'espace)...à moins que tu veuilles mettre un message par défaut, ce qui n'est pas le cas d'après ce que j'ai compris...
sinon je ne vois pas ce qui cloche... tu n'as même pas besoin de cette bidouille avec trim()....
au passage je ne connaissais pas le paramètre wrap=virtual de textarea, ça fait quoi au fait ? (je suppose que c'est pour les retour a la ligne quand tu recois le message du formulaire non ?)
voilà, fo que j'aille bosser :o)
Frank77
une ptite question, tu codes avec un éditeur html qui t'insère du code involontaire ou tu codes toi-même ? Ceci expliquerait le comment du pourquoi.
une autre question, tu es sous quel browser ?
néanmoins, j'ai testé ton code et dans mon cas, javascript me signale 1 caractère...
en effet y avait un espace entre les balises <textarea> et </textarea>....
ton code devrait marcher si tu ne mets rien entre ces balises (pas d'espace)...à moins que tu veuilles mettre un message par défaut, ce qui n'est pas le cas d'après ce que j'ai compris...
sinon je ne vois pas ce qui cloche... tu n'as même pas besoin de cette bidouille avec trim()....
au passage je ne connaissais pas le paramètre wrap=virtual de textarea, ça fait quoi au fait ? (je suppose que c'est pour les retour a la ligne quand tu recois le message du formulaire non ?)
voilà, fo que j'aille bosser :o)
Frank77
Mille mercis Frank77 !
En fait, il se trouve que chez moi <TEXTAREA> et </TEXTAREA> étaient sur 2 lignes différentes. Il y avait donc des
caractères blancs entre les 2. Exactement 14 !!!! Et c'était ça le problème. En ramenant </TEXTAREA> sur la même
ligne que <TEXTAREA>, j'ai pu me rendre compte de ça. J'ai les ai supprimés et maintenant tout marche bien. Mille
mercis pour votre aide.
Cela dit, lorsqu'on entre du texte dans un <TEXTAREA>, wrap=virtual permet de passer à la ligne automatiquement lorsqu'on arrive à la limite droite
de la zone de texte. Mais ce saut de ligne n'existe que dans le browser. Si ce texte est ensuite stocké dans une base de données,
les sauts de ligne enregistrés dans la base de données sont ceux pour lesquels on a explicitement tapé "ENTER".
En revanche pour wrap=physical, le saut de ligne créé automatiquement lorsqu'on arrive à la limite droite du <TEXTAREA> est
un saut de ligne réel (c'est comme si on avait tapé "ENTER"). Il est donc enregistré.
Envin pour wrap=off (comportement par défaut), lorsqu'on arrive à limite droite du TEXTAREA, la ligne continue, il n'y a pas de passage à la ligne automatique.
Il faut taper explicitement "ENTER" pour passer à la ligne. C'est ce qui semble être le cas pour la zone dans laquelle on entre les messages dans ce forum.
Hope this helps.
Jean
En fait, il se trouve que chez moi <TEXTAREA> et </TEXTAREA> étaient sur 2 lignes différentes. Il y avait donc des
caractères blancs entre les 2. Exactement 14 !!!! Et c'était ça le problème. En ramenant </TEXTAREA> sur la même
ligne que <TEXTAREA>, j'ai pu me rendre compte de ça. J'ai les ai supprimés et maintenant tout marche bien. Mille
mercis pour votre aide.
Cela dit, lorsqu'on entre du texte dans un <TEXTAREA>, wrap=virtual permet de passer à la ligne automatiquement lorsqu'on arrive à la limite droite
de la zone de texte. Mais ce saut de ligne n'existe que dans le browser. Si ce texte est ensuite stocké dans une base de données,
les sauts de ligne enregistrés dans la base de données sont ceux pour lesquels on a explicitement tapé "ENTER".
En revanche pour wrap=physical, le saut de ligne créé automatiquement lorsqu'on arrive à la limite droite du <TEXTAREA> est
un saut de ligne réel (c'est comme si on avait tapé "ENTER"). Il est donc enregistré.
Envin pour wrap=off (comportement par défaut), lorsqu'on arrive à limite droite du TEXTAREA, la ligne continue, il n'y a pas de passage à la ligne automatique.
Il faut taper explicitement "ENTER" pour passer à la ligne. C'est ce qui semble être le cas pour la zone dans laquelle on entre les messages dans ce forum.
Hope this helps.
Jean