Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fonction ajax

Quelle balise utiliser pour afficher le resultat?

    30 octobre 2008 à 12:13:53

    Bonjour a tous

    Je suis actuellement sur une petite application ajax, qui me sert a ajouter des champs dans un formulaire en fonction de la sélection faite sur un autre élément (une liste) de se coté là tout marche je parviens a récupe les donnée que je veux. Le gros PB viens pour l'affichage je doit intégrer le résultat dans un tableau et la sa coince je ne trouve pas de balise approprié, avec une balise <div> sa marche pas (et le resultat serait afficher hors tableau), une balise <tr> java refuse cette balise avec "getElementById" et une balise <td> ben sa affiche mais pas comme je le souhaite vue la structure retournée ^^ donc quelle balise appliquer sans pour autant détruire/déformer le tableau ??

    la partie du code ou je souhait afficher le résultat
    ...
    <tr>
    <td class=\"text\" width=\"30%\" align=\"left\">Description</td>
    <td width=\"70%\" align=\"center\">
    ... 
    </td>
    </tr>
    <div id=\"liste_element\"></div> <!--quelle balise mettre ici ?-->
    <tr>
    <td class=\"text\" width=\"30%\" align=\"left\">Information Complémentaire</td>
    ...      
    </td>
    </tr>
    <tr>
    ...
    


    La structure retournée par le ajax, je doit obligatoirement retourner les élément sous cette forme donc impossible de modifier la mise en page
    <?
    ...
    while($element=mysql_fetch_array($exe))
    {
      echo "<tr>
            <td class=\"text\" width=\"30%\" align=\"left\">".$element["nom_element"]."</td>
            <td width=\"70%\" align=\"center\"><input type=\"text\" name=\"element_$tps\" value=\"\" size=\"65\"></td>
            </tr>";
      $tps++;
    }
    ...
    ?>
    


    merci ^^
    • Partager sur Facebook
    • Partager sur Twitter
      31 octobre 2008 à 14:44:30

      Hum, pourquoi tu mets un div entre tes <tr> ? Entre des lignes de tableaux tu peux rien mettre si ce n'est la bordure, sinon il faut faire plusieurs tableaux. Ou alors tu groupes tes colonnes et tu mets le div dans un <td>.

      Tu utilises ajax comment ? Tu récupères un xml ? Si oui, il te suffit de créer avec document.createElement le bon nombre de lignes et colonnes, de les insérer correctement au bon endroit dans le tableau (ne pas oublier d'attacher les cellules aux lignes), puis tu remplis à coup de innerHTML avec les données de ton xml. Avec prototype c'est encore plus simple à mettre en place.

      Celà dit, moi ce que je ferais à ta place, c'est un script php qui contient l'intégralité du tableau, meme si une partie est récupérée dans la bdd ou ailleur. Ainsi, ton javascript s'occupe juste de mettre à jour le contenu de ton <table> via Ajax.Updater.
      • Partager sur Facebook
      • Partager sur Twitter
        31 octobre 2008 à 16:10:27

        Citation

        (et le résultat serait afficher hors tableau)

        Je le sais déjà pour le div mais qui tente rien n'as rien ;)

        Sinon je n'utilise pas de XML déjà assez de PB avec le JS qui est mon gros défaut :D Autrement durant la nuit j'ai en partie pris t'as solution du tableau je dit bien en partie, reprendre toute la structure me serai totalement inutile a ce moment la autant recharger la page compléte donc a la place du <div> (mit pour montré la ligne en autre) j'ai ajouté un tit <tr><td id=""></td></tr> dans le quelle j'affiche le résultat, résultat que j'ai du modifié quelque peu en ajoutant <table ...>, ça marche bien et ne me casse pas la structure mm si le texte, pour les éléments appelés, est en très léger décalage pas rapport au élément fixe de quelque pixel (nan suis pas maniaque sur ma mise en page :lol: ).

        Toute fois si il avait ut une balise prévu a cette effet (ce qui ne semble pas le cas)...
        • Partager sur Facebook
        • Partager sur Twitter

        Fonction ajax

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown