jasou62114
Messages postés59Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention20 juillet 2010
-
2 févr. 2007 à 08:28
jasou62114
Messages postés59Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention20 juillet 2010
-
2 févr. 2007 à 13:22
Salut à tous, j'avai déjà posté pour relier 5 combobox les uns par rapport aux autres...
Mais voilà la donne a changé et en fait je voudrai que lorsque je sélectionne dans la deuxième Combobox les quatres suivantes se débloquent... comment faire? voilà mon code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ouvrir une fiche de réparation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
var Ld1Id='';// on initialise la variable à vide
var Ld2Id='';// on initialise la variable à vide
var Ld3Id='';// on initialise la variable à vide
var Ld4Id='';// on initialise la variable à vide
var Ld5Id='';// on initialise la variable à vide
var Ld6Id='';// on initialise la variable à vide
var id_liste='';// on initialise la variable à vide
function ValideLd2(val) {//
Ld1Id=val; //id de l'élément sélectionné précédemment
id_liste='2';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
var LD_URL = 'ValideLd2.php?Ld1='+Ld1Id;
ObjetXHR(LD_URL)
// Réinitialisation de Ld3 si modification de LD1 après passage en Ld2
if (Ld2Id!='') {ValideLd3(''); }
}
function ValideLd3(val) {
Ld2Id=val; //id de l'élément sélectionné précédemment
id_liste='3';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
var LD_URL = 'ValideLd3.php?Ld1='+Ld1Id+'&Ld2='+Ld2Id;
ObjetXHR(LD_URL)
// Réinitialisation de Ld3 si modification de LD1 après passage en Ld2
if (Ld3Id!='') {ValideLd4(''); }
}
function ValideLd4(val) {
Ld3Id=val; //id de l'élément sélectionné précédemment
id_liste='4';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
var LD_URL = 'ValideLd4.php?Ld1='+Ld1Id+'&Ld2='+Ld2Id+'&Ld3='+Ld3Id;
ObjetXHR(LD_URL)
// Réinitialisation de Ld3 si modification de LD1 après passage en Ld2
if (Ld4Id!='') {ValideLd5(''); }
}
function ValideLd5(val) {
Ld4Id=val; //id de l'élément sélectionné précédemment
id_liste='5';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
var LD_URL = 'ValideLd5.php?Ld1='+Ld1Id+'&Ld2='+Ld2Id+'&Ld3='+Ld3Id+'&Ld4='+Ld4Id;
ObjetXHR(LD_URL)
// Réinitialisation de Ld3 si modification de LD1 après passage en Ld2
if (Ld5Id!='') {ValideLd6(''); }
}
function ValideLd6(val) {
Ld5Id=val; //id de l'élément sélectionné précédemment
id_liste='6';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
var LD_URL = 'ValideLd6.php?Ld1='+Ld1Id+'&Ld2='+Ld2Id+'&Ld3='+Ld3Id+'&Ld4='+Ld4Id+'&Ld5='+Ld5Id;
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() {
if (xmlhttp.readyState==4) { // si l'objet est à l'état terminé
if (xmlhttp.status==200) { // si le sereur renvoi OK (200)
//span id="niv2" ou "niv3"
document.getElementById('niv'+id_liste).innerHTML=xmlhttp.responseText; /* on récupère le numéro de la liste situé sur
la page et on a la Chaîne correspondant à la réponse du serveur à la requête */
if (xmlhttp.responseText.indexOf('disabled')<=0) {
//focus sur liste déroulante 2 ou 3
document.getElementById('Liste'+id_liste).focus();
}
}
}
}
function Affiche_Btn() {
document.getElementById('buttons').style.display='inline';
}
</script>
<STYLE>
#buttons {
display: none;
}
</style>
</head>
RETOUR
<center>
Recherche d'une fiche de réparation
<form action="ouvrir_fich_reparation.php" method="POST">
<table border="0">
<tr align="center">
<td>Numéro de fabrication si vous le connaissez :
</form>
</center>
jasou62114
Messages postés59Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention20 juillet 2010 2 févr. 2007 à 11:59
en fait voilà mon code mais j'ai résulu mon problème<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ouvrir une fiche de réparation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
var Ld1Id='';// on initialise la variable à vide
var Ld2Id='';// on initialise la variable à vide
var Ld3Id='';// on initialise la variable à vide
var Ld4Id='';// on initialise la variable à vide
var Ld5Id='';// on initialise la variable à vide
var Ld6Id='';// on initialise la variable à vide
var id_liste='';// on initialise la variable à vide
function ValideLd2(val) {//
Ld1Id=val; //id de l'élément sélectionné précédemment
id_liste='2';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
var LD_URL = 'ValideLd2.php?Ld1='+Ld1Id;
ObjetXHR(LD_URL)
// Réinitialisation de Ld3 si modification de LD1 après passage en Ld2
if (Ld2Id!='') {ValideLd3(''); }
}
function ValideLd3(val) {
Ld2Id=val; //id de l'élément sélectionné précédemment
id_liste='3';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
var LD_URL = 'ValideLd3.php?Ld1='+Ld1Id+'&Ld2='+Ld2Id;
ObjetXHR(LD_URL)
// Réinitialisation de Ld3 si modification de LD1 après passage en Ld2
if (Ld3Id!='') {ValideLd4(''); }
}
function ValideLd4(val) {
Ld3Id=val; //id de l'élément sélectionné précédemment
id_liste='4';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
var LD_URL = 'ValideLd4.php?Ld1='+Ld1Id+'&Ld2='+Ld2Id+'&Ld3='+Ld3Id;
ObjetXHR(LD_URL)
// Réinitialisation de Ld3 si modification de LD1 après passage en Ld2
if (Ld4Id!='') {ValideLd5(''); }
}
function ValideLd5(val) {
Ld4Id=val; //id de l'élément sélectionné précédemment
id_liste='5';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
var LD_URL = 'ValideLd5.php?Ld1='+Ld1Id+'&Ld2='+Ld2Id+'&Ld3='+Ld3Id+'&Ld4='+Ld4Id;
ObjetXHR(LD_URL)
// Réinitialisation de Ld3 si modification de LD1 après passage en Ld2
if (Ld5Id!='') {ValideLd6(''); }
}
function ValideLd6(val) {
Ld5Id=val; //id de l'élément sélectionné précédemment
id_liste='6';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
var LD_URL = 'ValideLd6.php?Ld1='+Ld1Id+'&Ld2='+Ld2Id+'&Ld3='+Ld3Id+'&Ld4='+Ld4Id+'&Ld5='+Ld5Id;
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() {
if (xmlhttp.readyState==4) { // si l'objet est à l'état terminé(4)
if (xmlhttp.status==200) { // si le sereur renvoi OK (200)
//span id="niv2" ou "niv3"
document.getElementById('niv'+id_liste).innerHTML=xmlhttp.responseText; /* on récupère le numéro de la liste situé sur
la page et on a la Chaîne correspondant à la réponse du serveur à la requête */
if (xmlhttp.responseText.indexOf('disabled')<=0) {
//focus sur liste déroulante 2 ou 3
document.getElementById('Liste'+id_liste).focus();
}
}
}
}
function Affiche_Btn() {
document.getElementById('buttons').style.display='inline';
}
</script>
Client : <select name="Liste1" id="Liste1" size="1" onchange="ValideLd2(this[this.selectedIndex].value);ValideLd3(this[this.selectedIndex].value)"><option selected value="">Choisir...</option><option value="1">société une</option><option value="2">société deux</option><option value="3">société une</option><option value="4">société deux</option></select> <!--Pour remplir la liste déroulante 1-->
N° Fabrication : <select name="Liste2" id="Liste2" size="1" disabled><option>Aucune valeur</option></select> <!--Pour remplir la liste déroulante 2-->
N° Citerne : <select name="Liste3" id="Liste3" size="1" disabled><option>Aucune valeur</option></select> <!--Pour remplir la liste déroulante 3-->
Type Véhicule : <select name="Liste4" id="Liste4" size="1" disabled><option>Aucune valeur</option></select> <!--Pour remplir la liste déroulante 4-->
N° Parc : <select name="Liste5" id="Liste5" size="1" disabled><option>Aucune valeur</option></select> <!--Pour remplir la liste déroulante 5-->
Immatriculation : <select name="Liste6" id="Liste6" size="1" disabled><option>Aucune valeur</option></select> <!--Pour remplir la liste déroulante 6-->
,
</form>
</center>
</html>
J'ai résolu mon problème en fait dans la page valide ou dans le onchange je pouvais mettre les autres combo disponible( et un combobox est un menu déroulant)
Par exemple ici dans valideL2 j'ai ceci
<?PHP
include 'Connexionbd.php';
$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 NUM_FABRICATION FROM camion WHERE NUM_ETAB=".$Ld1_retour." order by NUM_FABRICATION;";
$rq_pos_id=0;
$rq_pos_val=0;
$result= mysql_query ($rq) or die ("Select impossible");
$retour = '<select name="Liste2" id="Liste2" size="1" onchange="ValideLd3(this[this.selectedIndex].value);ValideLd4(this[this.selectedIndex].value)">';
$retour .= '<option selected value="">Choisir...</option>';
et c'est ici onchange="ValideLd3(this[this.selectedIndex].value);ValideLd4(this[this.selectedIndex].value)">'; que je devait rajouter les nom des autres nom des combo...
problème résolu
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 2 févr. 2007 à 10:30
Bonjour,
c'est quoi un combobox ? ça n'existe ni en Javascript ni en Html.
et ici, on ne voit qu'un finalement.
et que vient faire la séquence "xmlhttprequest" dans ce coup ci ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 2 févr. 2007 à 13:07
nickel si ça baigen et merci de l'avoir dit !
mais avec ce qui étati mis ici, impossible pour nous de résoudre.
>>un combobox est un menu déroulant
ben non !!! en VB, par exemple et avec d'auyes langages, c'est une liste
déroulante mais en html/javascript ça n'existe pas ( la balise select, ça, oui )
jasou62114
Messages postés59Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention20 juillet 2010 2 févr. 2007 à 13:22
ha je ne savais pas, en cours on a toujours parlé de chose comme ca... bravo les profs.. .loool
mais bon voilà si ca peut rendre service à quelqu'un ^^