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 :

[Plugin PrettyPhoto] Récupérer le contenu d'un textarea


Sujet :

jQuery

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Points : 100
    Points
    100
    Par défaut [Plugin PrettyPhoto] Récupérer le contenu d'un textarea
    Bonsoir à tous !

    J'essaie de récupérer le contenu du textarea après un clique sur un bouton:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $('#sendButton').live('click',function(){
                alert($('#messageContent').val());       
    });
    où messageContent est l'ID de mon textarea.

    L'alert() est toujours vide (idem avec text(), html() ou getElementById.value)

    Une idée du problème ?
    Apparemment c'est un problème récurrent :s

    Merci d'avance pour votre aide !

  2. #2
    Membre régulier Avatar de Goldocrack
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 126
    Points : 112
    Points
    112
    Par défaut
    Salut,

    C'est bizarre, normallement un val contient toujours ta variable. Je viens de faire un test rapide avec Firefox et Firebug activé. Quand tu tapes simplement dans la console $("#idTextArea").val(); il t'affiche correctement le contenu.

    Est-tu sûr que cela ne vient pas de l'affichage de l'alert ? (les sauts de ligne peuvent le gêner par exemple) ?

    @+

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Points : 100
    Points
    100
    Par défaut
    J'ai testé: toujours KO.

    Trouvé le bug : le textarea n'est pas présent au début (display:none).
    Il est affiché dans une lightbox...

    J'ai le bug mais pas la solution...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    ca, ca fonctionne :
    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
    <html>
    <head>
        <title>test</title>
    <!-- Scripts Google : initialisation jquery -->
    	<script type="text/javascript" src="http://www.google.com/jsapi"></script>
    	<script type="text/javascript">google.load("jquery", "1.6.1");</script>
    	<script type="text/javascript">
    	$('#sendButton').live('click',function(){
    		alert($('#messageContent').val());       
    	});
    	</script>
    </head>
    <body>
     
    <form>
    	<textarea id="messageContent"></textarea>
    	<input id="sendButton" type="submit" value="envoi" />
    </form>
    </body>
    </html>
    Donc ... la vérité est ailleurs ...
    Vérifie ton code, ou affiche-le ici.

  5. #5
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par nims
    J'ai le bug mais pas la solution...
    Oui, mais la solution dépend du code, donc on a encore moins de chance que toi de trouver la solution !

  6. #6
    Membre régulier Avatar de Goldocrack
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 126
    Points : 112
    Points
    112
    Par défaut
    Je plussoie pour le code, comment veux-tu qu'on t'aide si on n'a pas le code ? ...

    J'utilise moi aussi des éléments invisibles et ça fonctionne très bien.
    Je pense que tu poses ton listener trop tôt, avant même la construction du textarea.

    Deux tests à faire :

    1 - permet de voir si ton click s'active bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $("#sendButton").live("click",function(){
                //alert($("#messageContent").val());
     
                alert("TEST ICI");
    });
    et

    2 - permet d'être sûr que le listener est créé sur un objet qui existe réellement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $(document).ready(function() {
         $("#sendButton").live("click",function(){
                     //alert($("#messageContent").val());       
     
                     alert("TEST LA");
         });
    });

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Points : 100
    Points
    100
    Par défaut
    Re!

    Pour compléter, j'utilise le plugin PrettyPhoto qui permet d'afficher une lightbox (photos, texte, html...).
    Voici le plugin : PrettyPhoto

    Voici mon bout de code HTML:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <a href="#sendMessa" rel="mess"  id="sendMessage">Go</a>
            <div id="sendMessa" style="display:none">
                <textarea id="gfdgfdgdfgf" style="width:350px" rows="8" class="daTextbox"></textarea>
            </div>
    L'utilisation du plugin est basique (inline-content)

    Une idée ?

    Merci d'avance pour votre aide ! Je continue de chercher de mon côté !

  8. #8
    Membre régulier Avatar de Goldocrack
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 126
    Points : 112
    Points
    112
    Par défaut
    Salut,

    ton code n'est pas complet, où est ton bouton par exemple ???

    Que donne les deux tests que je t'ai donné ?

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Points : 100
    Points
    100
    Par défaut
    Les tests sont OK.
    Le alert() se fait bien après le "clic".

    le plugin affiche la box avec un certain template de base.
    Ce template est modifiable. C'est dans ce template que j'ai ajouté mon bouton.

    Voici le code JS: http://jsfiddle.net/kapik/pVMx8/

    Le bouton "Envoyer" est donc dans le JS.
    Le textarea a un id unique...

    Apparemment d'autres ont ce problème (forum support) mais pas de solution...

    En espérant que ca vous aide

    Merci d'avance !

  10. #10
    Membre régulier Avatar de Goldocrack
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 126
    Points : 112
    Points
    112
    Par défaut
    Voilà, après plusieurs tests (30 pour être précis) j'ai situé la cause du problème :

    la valeur du textarea n'est modifié qu'au moment de la FERMETURE de ta "popup", ce qui empêche de récupérer le .val() dans ton code.

    Regarde la modification suivante : http://jsfiddle.net/pVMx8/30/ (j'ai changé le nom du textarea pour être sûr)

    En fait tu écris dans ton cadre, et tu cliques sur "envoyer", comme prévu, le .val() ne donne rien et " test" s'affiche à la place.
    Ferme en appuyant sur "close".
    Re-ouvre la popup et re-écrit qque chose, re-envoie, et là au miracle ! il s'affiche " test test", ce qui veut dire que la valeur du textarea a été conservé tel quel au moment de la fermeture.
    Tu peux recommencer pour obtenir au final un " test test test"

    Une petite conclusion perso, plug-in beurk, passage par jquery.blockUI qui permet de faire (à priori) la même chose mais qui fonctionne (pour l'utiliser) pour récupérer la variable directement.

  11. #11
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Points : 100
    Points
    100
    Par défaut
    pow pow !

    Merci pour le temps passé dessus !!

    Ok pour ta conclusion.
    Par contre pour les photos il est pas mal...
    Tu en pense quoi ?

    Merci pour la proposition du plugin, je vais le regarder !

  12. #12
    Membre régulier Avatar de Goldocrack
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 126
    Points : 112
    Points
    112
    Par défaut
    On m'a tellement aidé sur ce site que je fais maintenant la même chose...

    Pour les photos, tu peux également utiliser blockUI pour les afficher sinon j'utilise encore le tout bête lightbox (sic)

    Penses au tag si tu souhaites clôturer le sujet.

    un +1 fait toujours plaisir

  13. #13
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Points : 100
    Points
    100
    Par défaut
    Oki !
    Lightbox sic ?

    J'attendais ta réponse pour "Résolu"

    Encore merci ! ++

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

Discussions similaires

  1. Récupérer le contenu du textarea
    Par merry marie dans le forum Langage
    Réponses: 5
    Dernier message: 15/04/2013, 15h26
  2. [TinyMCE] Impossible de récupérer le contenu textarea
    Par nzangel dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 20/09/2012, 08h18
  3. [TinyMCE] Problème pour récupérer le contenu d'un textarea
    Par oneTime dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 28/08/2008, 11h19
  4. Récupérer le contenu modifié d'un textarea
    Par webrider dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/04/2008, 11h00
  5. Récupérer le contenu d'un textArea sous firefox
    Par BouB dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/08/2006, 09h46

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