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

JavaScript Discussion :

supprimer élément d'un $_POST (array)


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 55
    Par défaut supprimer élément d'un $_POST (array)
    Bonjour à tous, voilà je vous expose mon problème en commancant par expliquer ce que je fais en PHP afin d'arriver à l'erreur javascript.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <form name='achat' action='./accueil.php?page=commande' method='post'>
    ...
    //je récupère les informations sur les articles à partir de la base de données.
    echo "<input type='hidden' name='ida[]' value='".$l['id_article']."'>";
    //champ pour stocker la quantité à commander
    echo "<input type='text' name='qte[]' size='3'>";
    ..
    </form>

    j'envoie les données du formulaire et je les affiche jusque la pas de probleme tout fonctionne parfaitement.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if($_GET['page']=="commande")
    {
      for($i=0; $i < sizeof($_POST['qte']); $i++)
      {
    	if($_POST['qte'][$i]!="")
    	{
    echo $_POST['qte'][$i]
    echo "<a href=\"javascript:supr(".$_POST['ida'][$i].");\">X</a></td>";
             }
       }
    }

    Ce qui pose problème est en rouge. Ma fonction supr sert normalement à supprimer un élément du formulaire soumi mais ca ne fonctionne pas, voila la fonction que j'ai crée. Elle est bien appelée puis si je met un window.alert("toto"); ca s'affiche bien mais le document...=null ca ne s'affiche pas. De plus, en remplacant elem manuellement pas 0, 1 ou un autre chiffre, cela fait exactement le meme problème. Avez-vous une solution ? Merci
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	function supr(elem)
    	{
    		document.achat.qte[elem].value=null;
    	}

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 211
    Par défaut
    Pourquoi un champ texte et un champ caché renvoieraient-ils un tableau??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    sizeof($_POST['qte'])
    $_POST['ida'][$i]
    Je comprends pas ton code...

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.achat.qte[elem].value.length=0;
    Sinon il me semble que javatwister à mis une contriubtion pour supprimer les elements vides d'un form avant envoi ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    De mémoire il faisait un truc dasn le genre :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    TabElt=document.forms['myform'].elements
    TEL=TabElt.length;
    for(i=0;TabElt[i];i++){
                     if(TabElt[i].value.length==0){
                      TabElt[i].parentNode.removeChild(TabElt[i])
                      i=i-1
                      }
              }
              }
    dasn le onsubmit du formulaire, ainsi les éléments vides ne sont pas transmis ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 55
    Par défaut
    en fait, avec IE, on peut afficher l'erreur: l'erreur est la suivante.
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    'document.achat.qte' a la valeur null ou n'est pas un objet
    sinon j'ai essayé le code suivant que vous m'avez conseillé
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.achat.qte[elem].value.length=0;
    mais aucun succès même problème et même erreur

    en fait ce que je fais, c'est que j'envoie un premier formulaire avec les quantités choisies par l'utilisateur. puis j'affiche tout. Ce que je veux faire, c'est supprimer l'élément choisi par l'utilisateur puis resoumettre le formulaire avec un
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     document.achat.submit();
    mais j'ai un souci pour la suppresion.

    Si vraiment y a pas solution javascript, j'ai déjà une solution PHP, mais je trouvais que c'était plus propre et moins lourd comme ca. Merci pour vos réponses, si vous avez d'autres solution n'hésitez pas

  6. #6
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    function supr(elem)
    {
    document.achat.elements["qte[]"][elem].disable=true;
    }

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    oui ou encore en jouant sur le
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 55
    Par défaut
    même avec vos deux solutions
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    'document.achat.elements' a la valeur null ou n'est pas un objet.

    Il semble que ce soit les crochets qui ne passent mais je vois pas vraiment en quoi c'est genant, normalement la syntaxe est correcte.
    sinon ne vous embetez, si vraiment vous n'avez pas solution, je ferais ça avec des tableau PHP

  9. #9
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    que donne
    alert(document.forms["achat"].elements)

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms['achat'].elements['qte[]'][elem].value.length=0;
    pour javascript dans un name le crochet est un caractère comme les autres ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 55
    Par défaut
    RE !!
    Merci à tous, j'ai trouvé mon probleme. En fait quand je soumet mon formulaire via PHP, il n'est pas présent dans la page de retour (celle que renvoie le serveur), du coup mon objet n'existe pas. J'ai testé alert(document.forms["achat"].elements); en créant un formulaire dans la page de retour et ca fonctionne . voili voilou merci bien

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

Discussions similaires

  1. Supprimer éléments dans unsigned char array
    Par iDucky dans le forum Objective-C
    Réponses: 0
    Dernier message: 09/04/2015, 10h41
  2. Supprimer éléments d'un tableau
    Par liline150 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 02/09/2007, 14h51
  3. Suppression d'éléments dans un tableau (Array)
    Par jeremie74 dans le forum Flash
    Réponses: 4
    Dernier message: 06/03/2007, 13h54
  4. [Tableaux] Comment ajouter/supprimer une entrée d'un array
    Par dessinateurttuyen dans le forum Langage
    Réponses: 7
    Dernier message: 09/08/2006, 16h05
  5. [Tableaux] supprimer élément
    Par miram dans le forum Langage
    Réponses: 7
    Dernier message: 02/02/2006, 10h04

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