doubler ou transformer les anti slash dans une string d'un input
18 réponses
Jean-Charles Gibier
Hello
Je suis confronté à un petit pb js
Dans mon script chargé j'ai ceci :
var val = "C:\home\unrepertoire\unautre\unfichier";
element.value = val;
dans le formulaire, l'input text qui correspond à 'element' affiche
évidement un truc du genre :
"C:homeunrepertoireunautreunfichier"
J'ai beau y aller à grand coups de replace je ne peut ni doubler ni
transformer les '\' de ma chaîne.
Je suppose que les '\' sont interprétés avant l'affectation.
Comment résoudre ce pb en restant avec javascript (du côté client donc).
Jean-Charles Gibier nous a dit le 31.01.2007 23:02:
Est ce que c'est faisable en JS (si oui comment) ? Ou suis je condamné à modifier le script qui envoie la page ?
C'est pas clair. Vous ne pouvez pas modifier le script JS ? D'où vient la valeur de 'val' ?
-- Aurélien Maille
Jean-Charles Gibier
Jean-Charles Gibier nous a dit le 31.01.2007 18:38:
Comment résoudre ce pb en restant avec javascript (du côté client donc).
var val = "C:homeunrepertoireunautreunfichier";
Oui d'accord ... Je n'ai peut être pas été assez clair. Je reitère : "Comment résoudre ce pb en *restant avec javascript* (*du côté client donc*)".
Je reçois : var val = "C:homeunrepertoireunautreunfichier"; et je veux précisément : var val = "C:homeunrepertoireunautreunfichier";
Est ce que c'est faisable en JS (si oui comment) ? Ou suis je condamné à modifier le script qui envoie la page ?
J'ajoute : Le problème est plus complexe qu'il n'y paraît dans la mesure ou je voudrais que les antislash's ne soient pas interprétés avant d'être affectés à val. Je ne sais pas si c'est possible (en fait c'est la réponse que je souhaite) mais sans vouloir abuser j'aimerai éviter les réponses lapidaires du style "string.replace() point/barre" ... du moins sans les avoir testées dans les conditions que j'expose. Merci.
Jean-Charles Gibier nous a dit le 31.01.2007 18:38:
Comment résoudre ce pb en restant avec javascript (du côté client donc).
var val = "C:\home\unrepertoire\unautre\unfichier";
Oui d'accord ...
Je n'ai peut être pas été assez clair.
Je reitère : "Comment résoudre ce pb en *restant avec javascript* (*du
côté client donc*)".
Je reçois :
var val = "C:homeunrepertoireunautreunfichier";
et je veux précisément :
var val = "C:\home\unrepertoire\unautre\unfichier";
Est ce que c'est faisable en JS (si oui comment) ?
Ou suis je condamné à modifier le script qui envoie la page ?
J'ajoute :
Le problème est plus complexe qu'il n'y paraît dans la mesure ou je
voudrais que les antislash's ne soient pas interprétés avant d'être
affectés à val. Je ne sais pas si c'est possible (en fait c'est la
réponse que je souhaite) mais sans vouloir abuser j'aimerai éviter les
réponses lapidaires du style "string.replace() point/barre" ... du moins
sans les avoir testées dans les conditions que j'expose.
Merci.
Jean-Charles Gibier nous a dit le 31.01.2007 18:38:
Comment résoudre ce pb en restant avec javascript (du côté client donc).
var val = "C:homeunrepertoireunautreunfichier";
Oui d'accord ... Je n'ai peut être pas été assez clair. Je reitère : "Comment résoudre ce pb en *restant avec javascript* (*du côté client donc*)".
Je reçois : var val = "C:homeunrepertoireunautreunfichier"; et je veux précisément : var val = "C:homeunrepertoireunautreunfichier";
Est ce que c'est faisable en JS (si oui comment) ? Ou suis je condamné à modifier le script qui envoie la page ?
J'ajoute : Le problème est plus complexe qu'il n'y paraît dans la mesure ou je voudrais que les antislash's ne soient pas interprétés avant d'être affectés à val. Je ne sais pas si c'est possible (en fait c'est la réponse que je souhaite) mais sans vouloir abuser j'aimerai éviter les réponses lapidaires du style "string.replace() point/barre" ... du moins sans les avoir testées dans les conditions que j'expose. Merci.
Jean-Charles Gibier
Jean-Charles Gibier nous a dit le 31.01.2007 23:02:
Est ce que c'est faisable en JS (si oui comment) ? Ou suis je condamné à modifier le script qui envoie la page ?
C'est pas clair. Vous ne pouvez pas modifier le script JS ? D'où vient la valeur de 'val' ?
Si je peux mais j'aimerai éviter. C'est pour ça que voudrais être sûr. Le prg perl côté serveur est délicat (à base de templates et de tableaux de références assez fumeux) de plus je n'ai aucun besoin de la chaîne transformée part pouvoir la présenter dans le formulaire.
Jean-Charles Gibier nous a dit le 31.01.2007 23:02:
Est ce que c'est faisable en JS (si oui comment) ?
Ou suis je condamné à modifier le script qui envoie la page ?
C'est pas clair. Vous ne pouvez pas modifier le script JS ?
D'où vient la valeur de 'val' ?
Si je peux mais j'aimerai éviter. C'est pour ça que voudrais être sûr.
Le prg perl côté serveur est délicat (à base de templates et de
tableaux de références assez fumeux) de plus je n'ai aucun besoin de la
chaîne transformée part pouvoir la présenter dans le formulaire.
Jean-Charles Gibier nous a dit le 31.01.2007 23:02:
Est ce que c'est faisable en JS (si oui comment) ? Ou suis je condamné à modifier le script qui envoie la page ?
C'est pas clair. Vous ne pouvez pas modifier le script JS ? D'où vient la valeur de 'val' ?
Si je peux mais j'aimerai éviter. C'est pour ça que voudrais être sûr. Le prg perl côté serveur est délicat (à base de templates et de tableaux de références assez fumeux) de plus je n'ai aucun besoin de la chaîne transformée part pouvoir la présenter dans le formulaire.
Bobe
Jean-Charles Gibier nous a dit le 31.01.2007 23:21:
Jean-Charles Gibier nous a dit le 31.01.2007 23:02:
Est ce que c'est faisable en JS (si oui comment) ? Ou suis je condamné à modifier le script qui envoie la page ? C'est pas clair. Vous ne pouvez pas modifier le script JS ?
D'où vient la valeur de 'val' ?
Si je peux mais j'aimerai éviter. C'est pour ça que voudrais être sûr. Le prg perl côté serveur est délicat (à base de templates et de tableaux de références assez fumeux) de plus je n'ai aucun besoin de la chaîne transformée part pouvoir la présenter dans le formulaire.
Doubler les backslashes coté serveur dans votre script perl n'est-il pas possible ?
Quoiqu'il en soit, ce n'est pas faisable une fois que l'assignation est faite en javascript, donc ce doit être fait en dur dans le script JS ou coté serveur.
-- Aurélien Maille
Jean-Charles Gibier nous a dit le 31.01.2007 23:21:
Jean-Charles Gibier nous a dit le 31.01.2007 23:02:
Est ce que c'est faisable en JS (si oui comment) ?
Ou suis je condamné à modifier le script qui envoie la page ?
C'est pas clair. Vous ne pouvez pas modifier le script JS ?
D'où vient la valeur de 'val' ?
Si je peux mais j'aimerai éviter. C'est pour ça que voudrais être sûr.
Le prg perl côté serveur est délicat (à base de templates et de
tableaux de références assez fumeux) de plus je n'ai aucun besoin de la
chaîne transformée part pouvoir la présenter dans le formulaire.
Doubler les backslashes coté serveur dans votre script perl n'est-il pas
possible ?
Quoiqu'il en soit, ce n'est pas faisable une fois que l'assignation est
faite en javascript, donc ce doit être fait en dur dans le script JS ou
coté serveur.
Jean-Charles Gibier nous a dit le 31.01.2007 23:21:
Jean-Charles Gibier nous a dit le 31.01.2007 23:02:
Est ce que c'est faisable en JS (si oui comment) ? Ou suis je condamné à modifier le script qui envoie la page ? C'est pas clair. Vous ne pouvez pas modifier le script JS ?
D'où vient la valeur de 'val' ?
Si je peux mais j'aimerai éviter. C'est pour ça que voudrais être sûr. Le prg perl côté serveur est délicat (à base de templates et de tableaux de références assez fumeux) de plus je n'ai aucun besoin de la chaîne transformée part pouvoir la présenter dans le formulaire.
Doubler les backslashes coté serveur dans votre script perl n'est-il pas possible ?
Quoiqu'il en soit, ce n'est pas faisable une fois que l'assignation est faite en javascript, donc ce doit être fait en dur dans le script JS ou coté serveur.
-- Aurélien Maille
Jean-Charles Gibier
Jean-Charles Gibier nous a dit le 31.01.2007 23:21:
Jean-Charles Gibier nous a dit le 31.01.2007 23:02:
Est ce que c'est faisable en JS (si oui comment) ? Ou suis je condamné à modifier le script qui envoie la page ? C'est pas clair. Vous ne pouvez pas modifier le script JS ?
D'où vient la valeur de 'val' ?
Si je peux mais j'aimerai éviter. C'est pour ça que voudrais être sûr.
Le prg perl côté serveur est délicat (à base de templates et de tableaux de références assez fumeux) de plus je n'ai aucun besoin de la chaîne transformée part pouvoir la présenter dans le formulaire.
Doubler les backslashes coté serveur dans votre script perl n'est-il pas possible ?
Si je n'ai pas le choix uniquement.
Quoiqu'il en soit, ce n'est pas faisable une fois que l'assignation est faite en javascript, donc ce doit être fait en dur dans le script JS ou coté serveur.
Ok c'est ce dont je voulais être sûr. Merci. ça veut dire que côté navigateur on ne peux pas distinguer : "patatipatatabingbang" de "patatipatatabingbang" C'est quand même assez frustrant finalement.
Jean-Charles Gibier nous a dit le 31.01.2007 23:21:
Jean-Charles Gibier nous a dit le 31.01.2007 23:02:
Est ce que c'est faisable en JS (si oui comment) ?
Ou suis je condamné à modifier le script qui envoie la page ?
C'est pas clair. Vous ne pouvez pas modifier le script JS ?
D'où vient la valeur de 'val' ?
Si je peux mais j'aimerai éviter. C'est pour ça que voudrais être sûr.
Le prg perl côté serveur est délicat (à base de templates et de
tableaux de références assez fumeux) de plus je n'ai aucun besoin de la
chaîne transformée part pouvoir la présenter dans le formulaire.
Doubler les backslashes coté serveur dans votre script perl n'est-il pas
possible ?
Si je n'ai pas le choix uniquement.
Quoiqu'il en soit, ce n'est pas faisable une fois que l'assignation est
faite en javascript, donc ce doit être fait en dur dans le script JS ou
coté serveur.
Ok c'est ce dont je voulais être sûr. Merci.
ça veut dire que côté navigateur on ne peux pas distinguer :
"patatipatatabingbang" de "patatipatatabingbang"
C'est quand même assez frustrant finalement.
Jean-Charles Gibier nous a dit le 31.01.2007 23:21:
Jean-Charles Gibier nous a dit le 31.01.2007 23:02:
Est ce que c'est faisable en JS (si oui comment) ? Ou suis je condamné à modifier le script qui envoie la page ? C'est pas clair. Vous ne pouvez pas modifier le script JS ?
D'où vient la valeur de 'val' ?
Si je peux mais j'aimerai éviter. C'est pour ça que voudrais être sûr.
Le prg perl côté serveur est délicat (à base de templates et de tableaux de références assez fumeux) de plus je n'ai aucun besoin de la chaîne transformée part pouvoir la présenter dans le formulaire.
Doubler les backslashes coté serveur dans votre script perl n'est-il pas possible ?
Si je n'ai pas le choix uniquement.
Quoiqu'il en soit, ce n'est pas faisable une fois que l'assignation est faite en javascript, donc ce doit être fait en dur dans le script JS ou coté serveur.
Ok c'est ce dont je voulais être sûr. Merci. ça veut dire que côté navigateur on ne peux pas distinguer : "patatipatatabingbang" de "patatipatatabingbang" C'est quand même assez frustrant finalement.
unbewusst.sein
Jean-Charles Gibier wrote:
Est ce que c'est faisable en JS (si oui comment) ?
je n'y suis pas parvenu avec un "bête" :
val.split(//).join(""); qui me retourne comme vous val sans les back-slash.
Ou suis je condamné à modifier le script qui envoie la page ?
je pense que oui, c'est tjs mieux d'opérer à la source... -- Artaban de Médée
Est ce que c'est faisable en JS (si oui comment) ?
je n'y suis pas parvenu avec un "bête" :
val.split(//).join(""); qui me retourne comme vous val sans les back-slash.
Ou suis je condamné à modifier le script qui envoie la page ?
je pense que oui, c'est tjs mieux d'opérer à la source... -- Artaban de Médée
Pierre Goiffon
Jean-Charles Gibier wrote:
var val = "C:homeunrepertoireunautreunfichier";
J'ajoute : Le problème est plus complexe qu'il n'y paraît dans la mesure ou je voudrais que les antislash's ne soient pas interprétés avant d'être affectés à val. Je ne sais pas si c'est possible (en fait c'est la réponse que je souhaite) mais sans vouloir abuser j'aimerai éviter les réponses lapidaires du style "string.replace() point/barre" ... du moins sans les avoir testées dans les conditions que j'expose.
Cette dernière phrase me choque pour le moins : vous arrivez ici avec une question en donnant le minimum d'éléments, et vous vous permettez d'exiger des réponses testées et adaptées parfaitement à votre besoin ?
Avez-vous testé le replace ? Qu'est-ce que cela donne ?
Jean-Charles Gibier wrote:
var val = "C:\home\unrepertoire\unautre\unfichier";
J'ajoute :
Le problème est plus complexe qu'il n'y paraît dans la mesure ou je
voudrais que les antislash's ne soient pas interprétés avant d'être
affectés à val. Je ne sais pas si c'est possible (en fait c'est la
réponse que je souhaite) mais sans vouloir abuser j'aimerai éviter les
réponses lapidaires du style "string.replace() point/barre" ... du moins
sans les avoir testées dans les conditions que j'expose.
Cette dernière phrase me choque pour le moins : vous arrivez ici avec
une question en donnant le minimum d'éléments, et vous vous permettez
d'exiger des réponses testées et adaptées parfaitement à votre besoin ?
Avez-vous testé le replace ? Qu'est-ce que cela donne ?
J'ajoute : Le problème est plus complexe qu'il n'y paraît dans la mesure ou je voudrais que les antislash's ne soient pas interprétés avant d'être affectés à val. Je ne sais pas si c'est possible (en fait c'est la réponse que je souhaite) mais sans vouloir abuser j'aimerai éviter les réponses lapidaires du style "string.replace() point/barre" ... du moins sans les avoir testées dans les conditions que j'expose.
Cette dernière phrase me choque pour le moins : vous arrivez ici avec une question en donnant le minimum d'éléments, et vous vous permettez d'exiger des réponses testées et adaptées parfaitement à votre besoin ?
Avez-vous testé le replace ? Qu'est-ce que cela donne ?
ASM
Jean-Charles Gibier wrote:
var val = "C:homeunrepertoireunautreunfichier";
sans vouloir abuser j'aimerai éviter les réponses lapidaires du style "string.replace() point/barre" ... du moins sans les avoir testées dans les conditions que j'expose.
Cette dernière phrase me choque pour le moins : vous arrivez ici avec une question en donnant le minimum d'éléments, et vous vous permettez d'exiger des réponses testées et adaptées parfaitement à votre besoin ?
Ça c'est bien vrai ! On se demande bien quel peut être l'intéret d'avoir le path d'un fichier vers un disque-dur de Windows ... ! ?
Avez-vous testé le replace ? Qu'est-ce que cela donne ?
Il n'y a rien à tester : la valeur d'une variable comme par esemple : text = "machinntruc"; si innerHTMLée dans un <pre> devrait donner machin truc
Dans l'exemple donné aucun des antislash n'est associé à un caractère spécial, c'est donc le caractère 'normal' qui est retenu. On pourra faire tous les replace qu'on veut : y a rien à remplacer sauf peut-être si on a l'antislash en échapé '' ce qui résoudra d'office le blème.
Et encore une fois : merci au concepteur de Windows ...
-- Stephane Moriaux et son (moins) vieux Mac déjà dépassé
Jean-Charles Gibier wrote:
var val = "C:\home\unrepertoire\unautre\unfichier";
sans vouloir abuser j'aimerai éviter les
réponses lapidaires du style "string.replace() point/barre" ... du
moins sans les avoir testées dans les conditions que j'expose.
Cette dernière phrase me choque pour le moins : vous arrivez ici avec
une question en donnant le minimum d'éléments, et vous vous permettez
d'exiger des réponses testées et adaptées parfaitement à votre besoin ?
Ça c'est bien vrai !
On se demande bien quel peut être l'intéret d'avoir le path d'un fichier
vers un disque-dur de Windows ... ! ?
Avez-vous testé le replace ? Qu'est-ce que cela donne ?
Il n'y a rien à tester :
la valeur d'une variable comme par esemple :
text = "machinntruc";
si innerHTMLée dans un <pre> devrait donner
machin
truc
Dans l'exemple donné aucun des antislash n'est associé à un caractère
spécial, c'est donc le caractère 'normal' qui est retenu.
On pourra faire tous les replace qu'on veut : y a rien à remplacer
sauf peut-être si on a l'antislash en échapé '\'
ce qui résoudra d'office le blème.
Et encore une fois : merci au concepteur de Windows ...
--
Stephane Moriaux et son (moins) vieux Mac déjà dépassé
sans vouloir abuser j'aimerai éviter les réponses lapidaires du style "string.replace() point/barre" ... du moins sans les avoir testées dans les conditions que j'expose.
Cette dernière phrase me choque pour le moins : vous arrivez ici avec une question en donnant le minimum d'éléments, et vous vous permettez d'exiger des réponses testées et adaptées parfaitement à votre besoin ?
Ça c'est bien vrai ! On se demande bien quel peut être l'intéret d'avoir le path d'un fichier vers un disque-dur de Windows ... ! ?
Avez-vous testé le replace ? Qu'est-ce que cela donne ?
Il n'y a rien à tester : la valeur d'une variable comme par esemple : text = "machinntruc"; si innerHTMLée dans un <pre> devrait donner machin truc
Dans l'exemple donné aucun des antislash n'est associé à un caractère spécial, c'est donc le caractère 'normal' qui est retenu. On pourra faire tous les replace qu'on veut : y a rien à remplacer sauf peut-être si on a l'antislash en échapé '' ce qui résoudra d'office le blème.
Et encore une fois : merci au concepteur de Windows ...
-- Stephane Moriaux et son (moins) vieux Mac déjà dépassé