PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 10-09-2010 15:56:04

athome
Membre
Inscription : 24-06-2010
Messages : 23

Récupérer 'value' dans une 'function' ajax

Bonjour, j'expose mon problème

J'ai un menu déroulant qui appel automatiquement deux autres menus déroulants
le soucis, c'est que je n'ai que la valeur du 1er menu déroulant qui rempli ma base mysql !

Ca ne doit pas être grand chose, mais je tourne un peu en rond là !

voici le code :

ajax.js

function ajax(strthis)
{
  var param = strthis.value;
                var codedial = document.getElementById("codedial").options[document.getElementById("codedial").selectedIndex].value;
  $("#tr_intitule").empty();
  $.ajax
  (
    {
      type: "POST",
      url: "select_intitule.php",
      data: "var="+param,
      success:
      function(msg)
      {
        $("#tr_intitule").append("<td>"+ msg +"</td>");
      }
    }

  );

  var param = strthis.value;
                var codedial = document.getElementById("codedial").options[document.getElementById("codedial").selectedIndex].value;
  $("#tr_unite").empty();
  $.ajax
  (
    {
      type: "POST",
      url: "select_unite.php",
      data: "var="+param,
      success:
      function(msg)
      {
        $("#tr_unite").append("<td>"+ msg +"</td>");
      }
    }

  );
}

form1.php

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajax.js"></script>
<form method="POST" action="valide1.php" name="caapp">            <tr align="center">
              <td><div align="right">Code : </div></td>
                          <td><div align="left"><?php include('select_codedial.php')?></div></td>
                        </tr>
           
            <tr align="center">
              <td><div align="right">Unité d'Emploi : </div></td>
                          <td><div align="left" id='tr_unite'><?php include('select_unite.php')?></div></td>
                        </tr>
           
            <tr align="center">
              <td><div align="right">Intitulé Code : </div></td>
                          <td><div align="left" id='tr_intitule'><?php include('select_intitule.php')?></div></td>
                        </tr>
                      <tr align="center">
                        <td colspan="2"><input type="submit" value="Envoyer" /></td>
                        </tr>
                    <input type="hidden" name="id" value="<?php echo($id) ;?>">
                  </form>

select_codedial.php

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajax.js"></script>
<select id='codedial' name='codedial' onchange="ajax(this)">
<option value='void_codedial'>-</option>
  <?php
    include("../connexion.php");
   
 
    $query = "SELECT DISTINCT codedial FROM codedial ORDER BY codedial ASC";
    $rq = mysql_query($query) or die(mysql_error());
    while ($row=mysql_fetch_array($rq, MYSQL_ASSOC))
    {
      $codedial = $row["codedial"];
      echo "<option value='$codedial'>$codedial</option>";
    }
    mysql_close();
  ?>
</select>

select_unite.php

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajax.js"></script>
<select id='unite' name='unite'>

  <?php
    include("../connexion.php");
   
    $var=$_POST['var'];
    $query = "SELECT DISTINCT unite FROM codedial WHERE codedial='$var' ORDER BY unite ASC";
    $rq = mysql_query($query) or die(mysql_error());
    while ($row=mysql_fetch_array($rq, MYSQL_ASSOC))
    {
      $unite = $row["unite"];
      echo "<option value='$unite'>$unite</option>";
    }  
    mysql_close();
  ?>
</select>

select_intitule.php

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajax.js"></script>
<select id='intitule' name='intitule'>

  <?php
    include("../connexion.php");
   
    $var=$_POST['var'];
    $query = "SELECT DISTINCT intitule FROM codedial WHERE codedial='$var' ORDER BY intitule ASC";
    $rq = mysql_query($query) or die(mysql_error());
    while ($row=mysql_fetch_array($rq, MYSQL_ASSOC))
    {
      $intitule = $row["intitule"];
      echo "<option value='$intitule'>$intitule</option>";
    }  
    mysql_close();
  ?>
</select>

Hors ligne

#2 10-09-2010 19:52:38

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Récupérer 'value' dans une 'function' ajax

strthis.value, c'est quoi ???
normalement, c'est récupérable avec jquery

tu écris 99999 lignessss là ou il y a besoin d'1 roll


$("#tr_intitule").empty().append($.ajax({url: 'select_intitule.php?var='+strthis.value}).responseText);
 

et dans le .php : $var=$_GET['var']; au lieu de $var=$_POST['var'];

jquery est un formidable outil , et toi, tu l'utilise très mal.

a++

Hors ligne

#3 13-09-2010 09:23:58

athome
Membre
Inscription : 24-06-2010
Messages : 23

Re : Récupérer 'value' dans une 'function' ajax

merci de te pencher sur mon cas, alors j'ai bien remplacé le POST par le GET, mais du coup mon 2eme et 3eme menu déroulant ne me propose plus le choix automatiquement.

sinon au niveau de cette ligne :

$("#tr_intitule").empty().append($.ajax({url: 'select_intitule.php?var='+strthis.value}).responseText);

je l'ai inséré dans le fichier ajax.js, mais le contenu des menus déroulants, ne se remplissent plus automatiquement non plus !

peu être l'ai je mal inséré !!!

merci encore de ton aide et tu auras remarqué que je débute wink

Hors ligne

#4 15-09-2010 14:54:55

athome
Membre
Inscription : 24-06-2010
Messages : 23

Re : Récupérer 'value' dans une 'function' ajax

et bien j'ai trouvé la solution alors, je reviens la poster !

je me suis vraiment pris la tête pour rien, car vous allez tomber de haut

cela vient du navigateur !!!

et oui cela fonctionne très bien sur IE mais pas du tout sur firefox, pourquoi ???

je ne sais pas encore, je vais chercher, mais si vous savez pourquoi, merci de laisser un petit mot ici, avant que je clôture ce topic wink

Hors ligne

Pied de page des forums