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

jQuery Discussion :

Changer le type d'un élement (ou type de champ)


Sujet :

jQuery

  1. #1
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 395
    Points : 863
    Points
    863
    Par défaut Changer le type d'un élement (ou type de champ)
    bonjour,

    dans un formulaire j'ai un champ de saisie de type long texte qui est de la forme textArea quand on est en mode saisie.
    Dans la vue d'affichage (quand on est pas dans le mode saisie), le champ textarea est remplacé par un basic span .

    Problème: la structure SPAN n'a pas de scrollbar ni de ROWS ni de COLS !
    Donc quand ce champ est affiché hors du formulaire (en vue liste ou vue page bridée) , je voudrais le remplacer par un TextArea en readonly .

    est-ce possible de manière propre avec jquery ?
    Je dis de manière propre car ma première idée est de prendre le html du mon SPAN et de faire plusieurs str_replace pour remplacer les parties de tag span par la déclaration TextArea et insérer manuellement à la loupe les attributs rows,cols et readonly
    J'ai regardé dans la doc jquery et j'ai rien trouvé (ou pas cherché les bons termes).

    Est-ce qu'une fonction comme ça existe ? :

    Code jquery : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#monspan").convert('span','textarea');

    car j'aurais plus qu'à faire mes lignes :

    Code jquery : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $('#monspan').attr('rows', 5);
    $('#monspan').attr('cols', 50);
    $('#monspan').attr('readonly','readonly');

    Ce serait mieux que d'aller triffouiller le code html avec des aiguilles!

    j'ai cherché convert(),switch() mais j'ai rien trouvé.
    une autre idée ?

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 413
    Points : 4 859
    Points
    4 859
    Par défaut
    Bonjour,

    Ce n'est pas jQuery.replaceWith() que vous cherchiez ?

  3. #3
    Membre éclairé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 395
    Points : 863
    Points
    863
    Par défaut
    Citation Envoyé par Toufik83 Voir le message
    Bonjour,

    Ce n'est pas jQuery.replaceWith() que vous cherchiez ?
    j'ai cru au bonheur car ça fait le job :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var contenu_liste=$( "#monspan" ).html();
    $( "#monspan" ).replaceWith( "<TEXTAREA ROWS=10 COLS=70 readonly>"+contenu_liste+"</TEXTAREA>" );

    sauf que ......

    j'ai oublié que le TexteArea n'a pas de contenu formaté du coup, j'ai fait un pétard mouillé ! j'ai honte

    en span :
    Nom : textara_ok.png
Affichages : 53
Taille : 10,4 Ko

    en textarea:
    Nom : textara_pb.png
Affichages : 54
Taille : 48,7 Ko

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 413
    Points : 4 859
    Points
    4 859
    Par défaut
    Oui, un textarea ne peut pas contenir du html, mais seulement du texte.

    Si vous voulez garder le contenu HTML, il va falloir utiliser un autre élément comme div ou span ou autre...

Discussions similaires

  1. Changer le type de champ de time en smalldatetime
    Par A.E.H dans le forum Développement
    Réponses: 2
    Dernier message: 16/11/2017, 09h55
  2. [MySQL-5.0] Changer le type de champs Booleen
    Par guigui69 dans le forum Débuter
    Réponses: 4
    Dernier message: 05/10/2015, 20h08
  3. [1.x] Changer le type de champ d'un filtre
    Par Invité dans le forum Symfony
    Réponses: 11
    Dernier message: 07/10/2012, 23h17
  4. Réponses: 10
    Dernier message: 14/08/2007, 22h27
  5. [Débutant] Changer le type d'une colonne
    Par david71 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 08/11/2005, 11h26

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