JAVASCRIPT conserver guillemet.

Résolu
Bonjour,

Mon problème est le suivant:

Je fais passer un texte à travers un javascript,
j'arrive sans problème à conserver les côtes
mais impossible de conserver les guillemets, qui mettent fin au texte,
ainsi que les retour chariots.

Pour les côtes j'effectue:

var valAct = valAct.replace(/'/g,"\'");

mais pour les guillemets et retour chariots, je ne sais pas :/

La variable passe dans:

myCell.innerHTML = "<input type=\"hidden\" id=\"cons" + valEta + "\" name=\"Ajout[]\" value=\"" + valEta + " || " + valHeu + " || " + valApp + " || " + valCon + " || " + valAct + " || " + valKind + " || " + valDeb + " || " + valFin + "|| " + valEquipeNom + "\" /><a href=\"javascript:void(0);\" onclick=\"chargercons("+myCell.id+");\"><img src=\"picture/m_moins.gif\" alt=\"modifier la consigne\" /></a>";

ds mon texte il y a aussi des > crochets
qui font aussi planter le truc :S

Si quelqu'un peut m'aider, n'hésiter pas à me poser des question.
Merci d'avance.
Configuration: Windows XP Internet Explorer 6.0

8 réponses

  1. la chaine de caractere se met bien entre guillemets mais pas le nom de la variable ;-) (qui s'apelle variable)
    paske dans la variable ya un super gros texte ki a été saisi en php ac plein de ' " < > \ / , etc.

    en fait je doi recuperer ce texte en javascipt <<<< escape(variable)
    puis laficher en javascript <<<< unescape(variable)
    apres il passe en base de donné
    puis je le recupere/affiche en php <<<< urldecode($variable)
    1. bon, alors,

      quant on est en javascript il faut faire escape(variable) pour coder la chaine de caractere

      et puis urldecode($variable) pour decoder la variable pour afficher la variable dans le php
      et unescape(variable) pour decoder la variable pour afficher la variable dans le javascript
      1. Une chaine de caractère se met entre guillemets doubles ou simples et je ne vois pas pourquoi tu parles de unescape et de urldecode.
    2. Si, puisque ça parle des regex.
      Comme première paramètres dans .replace, tu mets ça : /\"/g
      Ça ne veut rien dire ! Ce paramètres n'a aucun type : ni une chaine (string), ni un nombre entier (int), ou un décimal (float), ... alors que normalement c'est une chaine qu'il faut mettre.
      1. j'ai lu mais il n'y a pas vraimment de rapport avec ce que je veux faire .
        1. Lis ça : https://www.commentcamarche.net/contents/585-javascript-l-objet-regexp
          1. dans la methode replace , cela permet de cibler le caractere à changer
            1. Je n'ai pas très bien compris ton problème.
              Mais tu m'expliqueras ce que font "/" ou "\" en dehors des guillemets de la méthode replace.
              1. var valAct= valAct.replace(/\"/g,"\\\"");
                cela ne fonctionne pas :'(