Rafraichissement d'une liste

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Rafraichissement d'une liste

Re: Rafraichissement d'une liste

par albius » 23 juin 2010, 10:20

Extra!! Cela ouvre en plus des perspectives vraiment intéressantes! Merci bien!

Re: Rafraichissement d'une liste

par jojolapine » 22 juin 2010, 17:00

Bonjour, il faudrait supprimer le "noeud" de l'option qui a été traitée, la méthode $.remove() peut-être utilisée à mon avis, ce qui donnerais:

Code : Tout sélectionner

$(function(){ $("#choiceNBonCom").submit(function(){ ... $.post("fonctionsBonCom.php", $("#choiceNBonCom").serialize(), function(data){ ... if(data == ''){ // error!! $('#infos').html('Le bon '+data+' n\'a pas pu être traité correctement!'); } else{ $("#listeNBonCom option[value="+data+"]").remove(); $('#infos').html('Le bon '+data+' a été traité!'); } }); return false; }); });
En admettant que ton script ajax renvoie soit la valeur qui vient d'être traitée (afin de pouvoir la supprimée dans le document) soit rien (=erreur)...
C'est pour principe, tu peux adapter tout ça à tes besoins ;)

Rafraichissement d'une liste

par albius » 22 juin 2010, 10:33

Bonjour,

J'ai un formulaire dans lequel se trouve une liste. Le contenu de cette liste, des numéros de bon de commande, est généré par une requête sql:
<form action="#" method="post" name="choiceNBonCom" id="choiceNBonCom">
    <select name="listeNBonCom" id="listeNBonCom">
        ...
        <?php
        while ($data = mysql_fetch_array($result)) {
            echo '<option value="'.$data['nBonCom'].'">'.$data['nBonCom'].'</option>';
        }?>
    </select>
...
    <input type="submit" name="transfertNBonCom" id="transfertNBonCom" value="Ok">
La soumission du formulaire passe par ce javascript:

Code : Tout sélectionner

$(function(){ $("#choiceNBonCom").submit(function(){ ... $.post("fonctionsBonCom.php", $("#choiceNBonCom").serialize(), function(data){ ... if(data != "ok"){ $("#content").show().append(data); } else{ $("#content").show().append("...'") } }); return false; }); });
fonctionsBonCom.php va copier ces bons de commande et leur contenu dans une autre table, et les supprimer dans la première.
Tout cela fonctionne bien, sauf que la liste n'est pas mise à jour. Le bon de commande est supprimé, mais il ne disparaît pas de la liste. Etant donné que le soumission du formulaire est neutralisée par jquery, il n'y a plus de rafraichissement de la page. Comment puis-je faire alors sachant que je suis débutant dans l'emploi de jquery. Merci,