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 :

Javascript + PHP => checkbox et tableau incompatibles [FAQ]


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : Pays-Bas

    Informations forums :
    Inscription : Décembre 2005
    Messages : 186
    Par défaut Javascript + PHP => checkbox et tableau incompatibles
    Bonjour,

    J'ai une page dans laquelle il y a un listing d'adresse et une checkbox à coté de chaque adresse. Lorsque le formulaire est envoyé, une méthode est appelée et envoie un email a toutes les personnes dont les checkbox étaient cochés. Cette méthode prend en entrée 2 parametres :
    $inscrit qui est un tableau (le tableau des checkbox cochés)
    et $email (l'id de l'email a envoyer).

    Pour que ce code fonctionne parfaitement en PHP, mes checkbox doivent appartenir à un même tableau. Je les ai donc nommé de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type=\"checkbox\" name=\"inscrit[".$i."]\" value=\"".$id_inscrit."\">
    (les champs sont généres dans une boucle comme l'indique le code ci-dessus).

    De cette manière le code fonctionne parfaitement.
    Maintenant, j'arrive à mon problème, dans ma page on peut afficher 1000 résultats en une seule fois et pour envoyer un email a tout le monde, je met un checkbox qui permet de cocher toutes les autres (c'est assez classique). Problème : impossible d'accéder au champ du formulaire que j'ai nommé comme un tableau.
    J'ai une simple fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function selectAll(){
    	for(var i=0;i<document.all.inscrit.length;i++){
    		document.all.inscrit[i].checked = document.all.all_selected.checked;
    	}
    }
    inscrit n'est pas reconnu comme un tableau et le javascript plante.
    Si je nomme simplement mes checkbox "inscrit" , le javascript fonctionne parfaitement, "inscrit" étant alors reconnu comme un tableau... Mais dans ce cas, une fois le formulaire posté la variable PHP $inscrit n'est pas un tableau et le script PHP plante.

    En résumé, si mon script PHP fonctionne, mon javascript ne peut pas fonctionner et inversement

    Des idées pour résoudre ce problème ?

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 571
    Par défaut Re: Javascript + PHP => checkbox et tableau incompatibles
    essaye en ajoutant une balise "id" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type=\"checkbox\" id=\"inscrit_".$i."\" name=\"inscrit[".$i."]\" value=\"".$id_inscrit."\">
    et ensuite tu peux y accéder en utilisant "getElementById"

  3. #3
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut Re: Javascript + PHP => checkbox et tableau incompatibles
    Citation Envoyé par Matth_S
    document.all.inscrit[i].checked = document.all.all_selected.checked;


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.forms['nomDuFormulaire'].elements['inscrit['+i+']'].checked=....

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : Pays-Bas

    Informations forums :
    Inscription : Décembre 2005
    Messages : 186
    Par défaut
    Merci pour vos réponses !
    Je bloquais tellement sur l'idée du tableau que je n'ai meme pas pensé a rajouter un id pour utiliser ensuite getElementById !
    Entre temps j'ai également eu de l'aide sur un autre forum ou on m'avait conseillé d'utiliser "elements" mais je n'étais pas satisfait de la facon dont je l'utiliais (je balayais en fait tous les éléments du formulaire meme si ca n'était pas des checkbox). Grace a vos réponses, non seulement ca fonctionne, mais en plus le code est propre

    Mon problème est résolu, merci encore pour votre aide

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

Discussions similaires

  1. [PHP-JS] récuperer un tableau javascript en php
    Par tchoukapi dans le forum Langage
    Réponses: 2
    Dernier message: 13/05/2007, 21h24
  2. [AJAX+PHP] Récupérer une liste de checkbox en tableau
    Par dorian53 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/04/2007, 10h03
  3. [Javascript][php]afficher/cacher lignes tableau
    Par bouba83 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/12/2006, 13h55
  4. [PHP-JS] Remplir un tableau javascript selon un tableau php
    Par jerome38000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/01/2005, 14h02

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