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

HTML Discussion :

[HTML] Script généré, <textarea> et Navigateur


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Par défaut [HTML] Script généré, <textarea> et Navigateur
    Bonjour,

    Je suis nouveau sur le forum mais j'en avais pas besoin avant. J'ai une question un peu 'tricky'.

    Alors voila :
    -J'ai un script en PHP chargé de me produire un script qui contient également du HTML.
    -J'affiche le résultat dans un 'textarea' a qui je donne un nom (name) pour pouvoir être repéré.
    -J'ai un bouton 'submit' qui active du JavaScript permettant de sélectionner le texte produit et affiché dans le cadre textarea.

    un genre de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo ("
    <textarea name='resultat'> $result </textarea >
    <input type='button' value='Selectionner le texte' onClick=\"javascript:this.form.resultat.focus();this.form.resultat.select();\">
    ");
    Tout marche bien sauf le fait qu'au premier "</textarea>" (qui figure dans la variable $result) rencontré, le navigateur termine le cadre.
    Ce qui est logique mais le contenu ($result) lui; n'est donc pas entièrement affiché dans le cadre.
    Et ça bave un peu; en fait beaucoup. La sélection n'est évidement plus possible.

    J'ai essayé de le mettre dans un commentaire pour voir mais ça ne donne rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <textarea name='resultat'> <!-- $result --> </textarea>
    Q: Comment faire en sorte que le navigateur ne s'arrête pas a la première balise "</textarea>" venue.

    Il y a peu être des alternatives en JavaScript + un DIV, mais la je suis bien trop 'beginner' en JavaScript pour le faire.

  2. #2
    Membre chevronné Avatar de fenkys
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 376
    Par défaut
    Remplacer tous les < et > de ta variable $result par &lt; et &gt;

    Tu as une fonction PHP qui le fait toute seule.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2007
    Messages : 247
    Par défaut
    slt,

    précise ce que tu veux faire car ca reste trop flou... pourquoi afficher $result pour l'envoyer à nouveau via ton submit??....

    et si tu transformes ton textarea "resultat" en div.... c'est pas bon ??

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Par défaut
    Ca marche pour l'affichage du contenu dans le cadre (textarea) mais pas pour ce que je veux en faire. Disons que ce code devra être sauvegardé dans une base puis ressorti et utilisé. Donc il faut que le code puisse être interprété. Et malheureusement cela ne passe pas. Sous cette forme ce n'est pas considéré comme un tag HTML.

    Ha ouais, je sais, je suis exigeant. haaa baahh...

    Je peux le remplacer a la volée quand je le récupère depuis la DB; mais c'est pas très élégant. Je préfère ne pas avoir a le faire.

    @jeje13009: Le code n'est pas posté. C'est juste un cadre pour permettre a l'utilisateur une sélection aisée et qu'il puisse le mettre de coté. Mais faut que tout ($result) soit dedans pour que ça soit viable.


    Ah oui NB:
    < !DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\" >\r

    Le doctype et ces joies si savoureuses.

  5. #5
    Membre chevronné Avatar de fenkys
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 376
    Par défaut
    Et pourtant c'est ce qu'il faut faire. Tu seras obligé de transfomer le texte à la volée lors des transfert entre affichage, BDD et formulaire. Ne serait que ce parce qu'un grand nombre de caractères HTML ne sont pas autorisé dans une requête SQL et doivent être echappés pour être sauvé dans la BDD puis reversé à l'affichage pour éliminer le caractère d'echappement.

    PHP fournit des routines pour cela :
    - htmlentities
    - htmlspecialchar
    - addslashes
    - stripslashes
    Leur syntaxe exacte est dans la doc de PHP sur leur site (www.php.net).


    jeje13009 : ce genre de chose est courante, ca permet d'afficher le contenu d'un champ de la base pour l'éditer. C'est utilisé dans un forum, un blog ou un wiki par exemple.

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2007
    Messages : 247
    Par défaut
    slt,

    fenkys : oui mais c'est l'imbriquation des textarea qui me perturbe...

    Tex-Mex : et donc en prenant un div plutot qu'un textarea en tant que conteneur de ton $result, ca donne quoi ?

  7. #7
    Membre chevronné Avatar de fenkys
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 376
    Par défaut
    Quelle imbrication ?
    Il n'y en a qu'un dans ton exemple.

Discussions similaires

  1. [html] évenements générés par un CR ou par un clic
    Par metallien dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 05/02/2006, 11h42
  2. Exécuter un script ou un autre selon le navigateur
    Par Furius dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 26/12/2005, 21h37
  3. [W3C] Validation HTML W3C / <a> et <textarea>
    Par nico-pyright(c) dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 03/08/2005, 16h33
  4. [HTML] Limiter taille ligne <textarea>
    Par hedgehog dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 28/06/2005, 11h45

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