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 :

Requ�te Ajax sur �l�ments d'un select remplis par Ajax


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    54
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Par d�faut Requ�te Ajax sur �l�ments d'un select remplis par Ajax
    D�sol� pour l'intitul� du sujet j'ai pas trouv� mieux sur le moment.

    Alors mon probl�me est que je dois pointer dans mes select l'�l�ment vide pr�sent, ceci sur une action javascript.

    Pour info, je travaille sou Delphi For PHp avec interbase comme BDD ( on sait jamais)

    Mon probl�me est qu'il n'y a que la premi�re requ�te qui s'effectue. Le code de la fonction :

    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
    18
    19
    20
    function remiseazero (parametre)
    {
    var param= parametre;
    var i=0;
    var j=0;
     
    while (param.options[i].text!="")
    {
    i=i+1
    }
    var j=param.options[i].value
    param.options[j].selected=true
    param.options[param.selectedIndex].text=""
    }
     
    var selectBox = document.getElementById('ComboBoxRechercheTYPE');
    remiseazero(selectBox);
     
    var selectBoxx = document.getElementById('ComboBoxRechercheNOMEQUIP');
    remiseazero(selectBoxx);
    Le probl�me est que le vidage de le premier select s'effectue normalement, et l'explorateur ne crashes pas ce que je croyais car j'avais fait une boucle qui pouvait �tre infinie au d�but.

    Je pense maintenant que le probl�me vient du fait que l'�l�ment vide rajout� dans le seconde select est fait par une pr�c�dente requ�te ajax, ainsi que le reste du remplissage du select.

    Y a t il quand m�me un moyen de pointer sur des �l�ments implants par une pr�c�dente requ�te ajax ?
    Ou est ce un probl�me venant du fait que les deux requ�tes se font quasi simultan�ment ?

    Merci par avance de l'aide que vous pourrez m'apporter.

    Amicalement,descurai

  2. #2
    R�dacteur/Mod�rateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par d�faut
    Salut, sur la faq, il y a une fonction qui vide un select
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    function raz(liste)
    {l=document.getElementById(liste).length;
    for (i=l; i>=0; i--)
       document.getElementById(liste).options[i]=null;
    }
    raz('ComboBoxRechercheTYPE');
    raz('ComboBoxRechercheNOMEQUIP');
    L'utilisation de param.options[param.selectedIndex].text n'est pas cross-browser.
    http://javascript.developpez.com/faq...js#listesLiees
    Regarde la fonction raz.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    54
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Par d�faut
    Salutations, excuse moi je m'exprime mal en fait.

    Alors mon probl�me est que j'ai trois select = combobox

    La premiere est la REFERENCE des �quipements
    La seconde est le TYPE des �quipements
    La troisi�me est le NOM des �quipements

    Lorsque je clique sur un type d'�quipement, je fais une requ�te ajax qui me remplis le nom des �quipements qui ont pour type le type s�lectionn�.
    Jusque la tout va.

    Maintenant je dois lorsque je choisis une r�f�rence, pointer sur l'�l�ment vide d�j� pr�sent en d�but de s�lect.

    Select Type :

    1-""
    2-Chaud
    3-Froid


    Select Nom:

    1-""
    2-Chauffage
    3-Climatiseur

    Quand j'ex�cute ma fonction, celle ci pointe sur l'�l�ment vide du select type, sans pour autant vider la combobox.
    Mais elle ne veut pas faire de m�me sur le select du nom des �quipements.

    Probl�me qui vient je pense du fait qu'elle est d�j� remplie avec un appel Ajax.

    Si tu n'a toujours pas compris n'h�site pas, pas vraiment facile � expliquer pour l'handicap� que je suis. Jamais �t� tr�s fort dans ce domaine.

  4. #4
    R�dacteur/Mod�rateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par d�faut
    On peut voir les codes concern�s?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    54
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Par d�faut
    Si tu veux, voici l'appel a la fonction de remplissage

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
          //  ----- COMBOBOX Recherche TYPE -> NOM EQUIPEMENT -----
     
          function ComboBoxRechercheTYPEJSChange($sender, $params)
          {
           ?>
           var params = 'type=' +document.getElementById('ComboBoxRechercheTYPE')
           .options[document.getElementById('ComboBoxRechercheTYPE').selectedIndex].text;
     
           basicAjax("Ajax_Recherche/recherche_type_nomequip.php",params);
           <?php
          }
    Et voici la page appel�e par la fonction pr�c�dente :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <?php
    //Initialisation de la variable
    $type='' ;
     
    if(isset($_POST["type"]))
    {
    //Récupération de la variable passée par la méthode POST
      $type=$_POST["type"];
    }
     
    $rettype="";
    $rettype.= $type;
     
    $typedecode=utf8_decode($type);
     
     
    // Connexion a la base de donnée
    $conn=ibase_connect('localhost:D:\BD_G2IT\BASEDESBONS.FDB', 'SYSDBA', 'masterkey');
     
    if (!$conn)
    {
    echo "Access Denied!";
    exit;
    }
     
    //Exécuter la requête
    $result=ibase_query($conn, "SELECT DISTINCT NOM_MAT FROM MATERIEL WHERE UPPER(MATERIEL.TYPE_MAT)=UPPER('$typedecode')");
     
    //Remise à zéro de la combo
    ?>
    while(vcl.$('ComboBoxRechercheNOMEQUIP').options[0]){vcl.$('ComboBoxRechercheNOMEQUIP').removeChild(vcl.$('ComboBoxRechercheNOMEQUIP').options[0])}
    additem(vcl.$('ComboBoxRechercheNOMEQUIP'),"");
    <?php
     
     
     
    //Traitement lignes par lignes du tableau contenant les résultats de la requête SQL
    while ($row = ibase_fetch_row ($result))
    {
    $nomequip=addslashes($row[0]);
     
    echo "var nomequip='$nomequip';";
     
    // Fonction d'ajout et Ajout en Java Script
       ?>
       function additem(obj,text)
              {
              var newOpt = obj.appendChild(document.createElement('option'));
              newOpt.text = text;
              }
     
    additem(vcl.$('ComboBoxRechercheNOMEQUIP'),nomequip);
       <?php

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    54
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Par d�faut
    Ici la requ�te d'affichage de la REFERENCE des �quipements :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
          //  ----- COMBOBOX Affichage Label REF EQUIPEMENT -----
     
     
           function ComboBoxRechercheREFERENCEJSChange($sender, $params)
          {
           ?>
              var params = 'refequip=' +document.getElementById('ComboBoxRechercheREFERENCE')
              .options[document.getElementById('ComboBoxRechercheREFERENCE').selectedIndex].text
              basicAjax("Ajax_Recherche/recherche_affichage_refequip.php",params);
           <?php
           }


    Et dans la page appel�e il y a juste une requ�te qui rempli un label et le reste est la fonction post�e dans le premier post.


    Autre chose ?

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 1
    Dernier message: 08/02/2014, 00h23
  2. [AJAX] Valider un select rempli avec ajax
    Par Abdoul19 dans le forum jQuery
    R�ponses: 1
    Dernier message: 18/04/2013, 21h52
  3. R�ponses: 4
    Dernier message: 21/07/2011, 08h04
  4. R�ponses: 3
    Dernier message: 28/02/2009, 06h23
  5. [AJAX] Click sur select aliment� par ajax plante ie
    Par Pgs dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 08/04/2008, 10h45

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