fouedk2
Messages postés22Date d'inscriptiondimanche 21 août 2005StatutMembreDernière intervention25 juin 2008
-
28 mai 2008 à 02:05
fouedk2
Messages postés22Date d'inscriptiondimanche 21 août 2005StatutMembreDernière intervention25 juin 2008
-
28 mai 2008 à 21:59
bonjour,
j'ai une liste déroulante "valideld1.php" qui déclenche des l'apparition de 7 listes déroulante identique "valideld2.php"
problème ce passe au niveau de javascript qui exécute "valideld2.php" sans prendre compte de l'indice $i (seul le fichier "valideld2.php" fonctionne).
pour resumé je perd l'indice i en passant par javascript (mission1 devient mission)
code valideld2.php
<?PHP
include 'Connexionbd.php';
echo $Ld1_retour =''; //id_département clé de la liste déroulante 1
if (isset($_GET['Ld1'])) {$Ld1_retour = $_GET['Ld1'];}
if ($Ld1_retour!='') {
$rq="Select * from webstem_mission where num_salarie=".$Ld1_retour." order by num_chantier;";
$rq_pos_id=0;
$rq_pos_val=5;
$rq_pos_val6=6;
$rq_pos_val7=7;
$rq_pos_val5=8;
$result= mysql_query ($rq) or die ("Select impossible");
$retour = "<select name='mission$i' id='liste2' size='1' value='' selected><option><-- choix mission --> </option>";
var Ld1Id='';
var Ld2Id='';
var id_liste='';
var mission='';
function ValideLd2(val) {
Ld1Id=val; //id_département
id_liste='2';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
var LD_URL = 'ValideLd2.php?Ld1='+Ld1Id;
ObjetXHR(LD_URL)
}
function ObjetXHR(LD_URL) {
//creation de l'objet XMLHttpRequest
if (window.XMLHttpRequest) { // Mozilla,...
xmlhttp=new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {
xmlhttp.overrideMimeType('text/xml');
}
xmlhttp.onreadystatechange=ChargeLd;
xmlhttp.open("GET", LD_URL, true);
xmlhttp.send(null);
} else if (window.ActiveXObject) { //IE
xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
if (xmlhttp) {
xmlhttp.onreadystatechange=ChargeLd;
xmlhttp.open('GET', LD_URL, false);
xmlhttp.send();
}
}
// Bouton non apparent car modification de LD1 ou Ld2
// document.getElementById('buttons').style.display='none';
}
// fonction pour manipuler l'appel asynchrone
function ChargeLd() {
for (j=1; j<8; j++) {
if (xmlhttp.readyState==4) {
if (xmlhttp.status==200) {
//span id="niv2" ou "niv3"
document.getElementById('mission'+j).innerHTML=xmlhttp.responseText;
// if (xmlhttp.responseText.indexOf('disabled')<=0)
// {
// focus sur liste déroulante 2 ou 3
// document.getElementById('Liste'+j).focus();
// }
}
}
}
}
function Affiche_Btn() {
document.getElementById('buttons').style.display='inline';
}
code php appel liste deroulante 2 dans une boucle for allant de 1 a 7
fouedk2
Messages postés22Date d'inscriptiondimanche 21 août 2005StatutMembreDernière intervention25 juin 2008 28 mai 2008 à 10:27
j'ai bien mes 7 listes déroulante qui s'affiche mais comme le code javascript s'exécute après code php, l'indice $i n'est pas pris en compte.
alors que
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 28 mai 2008 à 12:06
>>j'ai bien mes 7 listes déroulante qui s'affiche mais comme le code
javascript
>s'exécute après code php, l'indice $i n'est pas pris en
compte.
pas un problème javascript ou variable php...
mais une erreur de logique : je t'ai montré ce qu'il fallait faire
>>comment donne ton un nom en javascript a une liste
>>déroulante sans prendre compte du php
navré... mais sur ce coup là, je n'arrive pas à traduire