IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

value d'input, simple quote affichage coupé


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut value d'input, simple quote affichage coupé
    Bonjour,
    J'ai un soucis avec les quotes, j'ai beau chercher sur internet je n'arrive toujours pas à trouver de solution.
    Mes accents passent très bien dans la fonction js mais quand je veux les rajouter dans un input la variable est coupée au niveau du \ si je met pas de \ c'est couper au niveau de l'accent.
    code php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $libelle  = str_replace("'","\'",$libelle);
    $description= str_replace("'","\'",$description);
    $libelle  = str_replace('"', "'+String.fromCharCode(34)+'",$libelle);
    $description= str_replace('"', "'+String.fromCharCode(34)+'",$description);
    <a href="javascript:ajout_input('<?php echo $libelle; ?>','<?php echo $description;?>')">
    code js:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    function ajout_input(libelle, description)
    {
    alert(ingredient);//l'hotel ou la maison (pas de probleme pour l'accent à ce niveau)
    alert(libelle);
    ingredient =addslashes(ingredient);
    description= addslashes(description);
     var libelle = "<input type='texte' name='inputs_libelle' id='inputs_libelle'  value='"+libelle+"'>";
    		var description = "<input type='texte' name='inputs_description' id='inputs_description' value='"+description+"'>";
     
    alert(description);//<input type='texte' name='inputs_description' id='inputs_description'  value='l\'hotel ou la maison'>
    alert(libelle);
     
    		document.getElementById("inputs_libelle").innerHTML += libelle;
     
    		document.getElementById("inputs_description").innerHTML += description; //resultat afficher l\
     
     
    }
        function addslashes(str) {
             str=str.replace(/\'/g,'\\\'');
             //str=str.replace(/\"/g,'\\"');
            // str=str.replace(/\\/g,'\\\\');
            // str=str.replace(/\0/g,'\\0');
    return str;
        }
    Mes pages sont en uft8. Sinon les " passent très bien mais je suis bloquée avec les quote

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Donne plutot un exemple de chaine que tu n'arrive pas à faire passer

    genre chaine initiale et code voulu en sortie ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    j'en vois $description = l'hotel ou la maison.

    Je veux afficher : l'hotel ou la maison, dans mon input que je vais ajouté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='texte' name='inputs_description' id='inputs_description'  value='"+description+"'>
    Ce qui devrait être généré:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='texte' name='inputs_description' id='inputs_description'  value=' l'hotel ou la maison'>
    Mais à la place j'ai :
    <input type='texte' name='inputs_description' id='inputs_description' value=' l '>

    Dans le input qui est bleu je devrais avoir l'hotel ou la maison à la place de l ( voir image)
    Images attachées Images attachées  

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Regarde le code HTML généré (celui que tu aurais dû poster si tu avais lu Important : Les règles incontournables d'utilisation de ce forum) et tu devrais comprendre facilement où se situe le problème...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    inverse tes quotes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     var libelle = '<input type="texte" name="inputs_libelle" id="inputs_libelle"  value="'+libelle+'">';
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Par défaut
    Justement j'ai testé avec une alert(description) après avoir mi des \;

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type='texte' name='inputs_description' id='inputs_description'  value='l\'hotel ou la maison'>

    mais dans ma page sa affiche : l\

    inverse tes quotes
    J'y avais pensé c'est vrai que sa marche mais du cout les " ne marchent plus

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Ton souci provient en amont de php

    pour remplacer ' par \' il faut echapper le \ pour php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $chaine="l'heure de vérité";
    $res = str_replace("'","\\'",$chaine);
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] souci avec des simples quotes
    Par Jean Fi dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2006, 20h13
  2. [MySQL] transformer une simple quote en double pour un insert !!
    Par st0nky dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/01/2006, 16h38
  3. [text] probleme avec simple quote
    Par bor1s dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/12/2005, 16h03
  4. Probleme avec encodage de simple quote
    Par linkowich dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2005, 13h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo