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 :

Récupérer les balises <li> et les envoyer via $post ?


Sujet :

jQuery

  1. #1
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2013
    Messages : 12
    Points : 12
    Points
    12
    Par défaut Récupérer les balises <li> et les envoyer via $post ?
    Bonjour a la communauté ,

    voici mon code html

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <div id="visited_container">
        <h3 style="display: block;">visited:</h3>
        <div id="disclaimer" style="display: block;"></div>
        <ul id="visited">
        <li>www.site1.com</li>
        <li>www.site2.com</li>
        </ul>
     </div>

    je souhaite récupérer le contenu des elements
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <li>www.site1.com</li>
     <li>www.site2.com</li>

    voici mon cote javascript (ajax)

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js "></script>
    <script>
        setTimeout(function() { //timeout start ,wait for all visited site loaded
        $(document).ready(function(){
     
        $('#visited').ready(function(){    
     
     
               var visited = $("#visited li").val(); 
     
     
                 $.post('post_receiver.php', {visited:visited}, $(this).serialize(), function(data){  
     
     
                // show the response
                $('#visited').html(data);
     
            })
            .fail(function() {
     
                // just in case posting your form failed
                alert( "Posting failed." ); 
     
            });
     
            // to prevent refreshing the whole page page
            return false;
     
        });
     
     
    });
      }, 5000);  //timeout end
    </script>
     
    <?php var_dump($_POST);?>
    le output de mon var_dump

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array(1) { ["visited"]=> string(1) "0" }
    avez vous une idée s'il vous plait ?
    merci beaucoup

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 939
    Points : 44 112
    Points
    44 112
    Par défaut
    Bonjour,
    var visited = $("#visited li").val(); est incorrect, il te faut utiliser text() ou encore html() pour récupérer le contenu des balises.

    De plus il te faut boucler sur l'objet jQuery retourné pour récupérer l'ensemble des valeurs, à voir l'exemple de la documenation.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2013
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Bonjour NoSmoking et merci beaucoup pour votre reponse

    cela fait 3 jours que je bloque la dessus lol

    effectivement j'ai fixer le probleme en mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var visited = $("#visited li").html();
    cependant j'obtiens la premiere row
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <li>www.site1.com</li>


    le output
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    array(1) { ["visited"]=> string(13) "www.site1.com" }



    voici un exemple du lien que vous m'avez donner https://api.jquery.com/each/#each-function

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $( "#visited li" ).each(function( index ) {
      console.log( index + ": " + $( this ).text() );
    });
    je comprend bien qu'il faut utiliser la fonction "each" par contre j'ai vraiment du mal pour la syntaxe...

    j'aimerai qu'il me sort les 2 elements

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <li>www.site1.com</li>
    <li>www.site1.com</li>

    avez vous un exemple s'il vous plait ?

    merci beaucoup

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 939
    Points : 44 112
    Points
    44 112
    Par défaut
    Cela pourrait être quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var data = [];
    $( "#visited li" ).each(function( index ) {
      data.push( "visited[]=" + $( this ).text() ));
    });
    param = data.join("&");
    tu devrais obtenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    visited[]=www.site1.com&visited[]=www.site2.com
    à traiter côté serveur comme un array.

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/07/2015, 22h02
  2. Réponses: 1
    Dernier message: 30/11/2009, 23h50
  3. Réponses: 6
    Dernier message: 06/05/2009, 18h45
  4. Réponses: 0
    Dernier message: 10/08/2008, 20h05

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