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

Langage PHP Discussion :

Select multiple avec javascript, xhr_object, et traitement php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Par défaut Select multiple avec javascript, xhr_object, et traitement php
    Bonjour a tous,

    J'ai un souci de gestion des données reçues en GET dans mon PHP issues d'un select multiple passant par le javascript xhr_object.

    Je m'explique :

    J'ai mon select :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
             <select name="test[]" multiple="multiple" onchange="recupSelection(this, 5)">
                <option value="" selected="selected">Valeur recupérée de m BDD</option>
                <option value="tata">tata</option>
                <option value="tete">tete</option>
                <option value="titi">titi</option>
                <option value="toto">toto</option>
                <option value="tutu">tutu</option>
              </select>
    J'appelle donc ma fonction javascript qui doit me sortir un tableau, déja je n'y arrive pas !!!
    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
     
              function recupSelection(src, idB)
              {
                valeur = // valeur des anciens choix selectionnés // je bug a ce niveau
                valeur += src.options[src.selectedIndex].value + '-';
    			alert ("utilisateur2.php?addman="+valeur+"&chgut="+idB);	
    			var xhr_object = null;
    				if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest();
    				else if(window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    				else {alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");return;}
    				xhr_object.open("POST", "utilisateur2.php?addman="+valeur+"&chgut="+idB, true);
    				xhr_object.onreadystatechange = function() {if(xhr_object.readyState == 4) {}}
    				xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    				var data = "addman="+valeur+"&chgut="+idB;
    				xhr_object.send(data);
    			src.selectedIndex = 0;
              }
    et le probleme majeur tien dans le fait que je récupere une ligne de plusieures valeurs séparées par un trait d'union dans le GET de addman
    ce qui veut dire que je dois créer un tableau afin d'inserer chaque valeur dans la BDD.

    Je suis un peu perdu, si quelqu'un pouvait m'aider, merci beaucoup.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    				xhr_object.open("POST", "utilisateur2.php?addman="+valeur+"&chgut="+idB, true);
    ...
    				var data = "addman="+valeur+"&chgut="+idB;
    				xhr_object.send(data);
    Les données sont transmises à la fois en GET et en POST.
    Il faut choisir !

    En POST :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    				xhr_object.open("POST", "utilisateur2.php", true);
    ...
    				var data = "addman="+valeur+"&chgut="+idB;
    				xhr_object.send(data);
    En GET :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    				xhr_object.open("GET", "utilisateur2.php", true);
    ...
    				var data = "addman="+valeur+"&chgut="+idB;
    				xhr_object.send(data);


  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Par défaut
    Effectivement, j'ai écris trop rapidement le collage de mon code.

    Mais c'est bien la fonction GET que j'utilise

  4. #4
    Invité
    Invité(e)
    Par défaut
    str.split() te permet de convertir une chaine de caractère en tableau en utilisant un caractère de séparation. Dans ton cas ce sera quelque chose comme valeur.split('-')

    Ensuite il te reste a créer les options du select en javascript. Pour cela tu as tout un tas d'options pour contrôler le DOM de ta page.


    Une pratique courante quand tu reçois des données en AJAX c'est de passer par du JSON, la méthode du séparateur par un délimiteur fonctionne mais est limités aux cas où tes valeurs possèdent elles mêmes ce délimiteur. JSON marche dans tous les cas.

Discussions similaires

  1. Récupération d'un select Multiple avec PHP
    Par Loic Dupel dans le forum Langage
    Réponses: 8
    Dernier message: 13/09/2013, 10h21
  2. select box avec javascript
    Par flamant dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/09/2008, 11h53
  3. selection multiple avec saisie
    Par Rambler dans le forum Struts 1
    Réponses: 2
    Dernier message: 13/09/2007, 08h41
  4. select multiple avec enctype="multipart/form-data
    Par Tail dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 24/01/2007, 11h59
  5. [Excel] Selection multiple avec critères
    Par tibotibotibo dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/04/2005, 10h48

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