Combobox onchange

cs_sidalilo Messages postés 108 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 9 juillet 2013 - 7 févr. 2010 à 14:29
mostafaboukhar Messages postés 3 Date d'inscription samedi 19 février 2011 Statut Membre Dernière intervention 8 avril 2011 - 17 mars 2011 à 19:08
bonjour
je travail sur php et j'ai une base de données ,j'ai une table wilaya qui contient deux champs N°,libelle
j'ai fait un combobox et un champ et deux autre champs text,j'ai rempli le combobox par les libelles de wilaya et
je veux lorsque je selectionne une libelle s'affiche automatiquement son N° dans le champ text mais sans submit la form
car si je fais submit la form dans onchange de combobox les autres champs vont étre vides.
merci d'avance de votre attention
cordialement
didoalilo

7 réponses

syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
7 févr. 2010 à 17:48
C'est du javascript..
S.
0
mostafaboukhar Messages postés 3 Date d'inscription samedi 19 février 2011 Statut Membre Dernière intervention 8 avril 2011
14 mars 2011 à 12:14
moi auss j'ai le méme probleme
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
15 mars 2011 à 08:23
RE: C'est du javascript..
S.
0
cs_sidalilo Messages postés 108 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 9 juillet 2013
15 mars 2011 à 08:39
merci bien pour vous ,j'ai résolu le probleme
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
15 mars 2011 à 12:33
Tu peux donner la solution, alors.. y'a un petit camarade qui est aussi bloqué.
S.
0
cs_sidalilo Messages postés 108 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 9 juillet 2013
15 mars 2011 à 14:29
bonjour

la solution est:
tu fais dans la première page de champ wilaya ce code de javascript:
<script type="text/javascript">
var Ld1Id='';
var Ld10Id='';
var Ld2Id='';
var id_liste='';

function ValideLdin0(val) {
Ld1Id0=val; //id_département
id_liste='6';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
var LD_URLa = 'ValideLdin00.php?Ld100='+Ld1Id0;
ObjetXHR(LD_URLa)
// Réinitialisation de Ld3 si modification de LD1 après passage en Ld2
//if (Ld2Id!='') {ValideLd3('');}
}
function ValideLdin00(val) {
Ld1Id0=val; //id_département
id_liste='7';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
var LD_URLa = 'ValideLdbl1.php?Ld102='+Ld1Id0;
ObjetXHR(LD_URLa)
// Réinitialisation de Ld3 si modification de LD1 après passage en Ld2
//if (Ld2Id!='') {ValideLd3('');}
}
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';
}
function ObjetXHR(LD_URL10) {
//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_URL10, true);
xmlhttp.send(null);
} else if (window.ActiveXObject) { //IE
xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
if (xmlhttp) {
xmlhttp.onreadystatechange=ChargeLd;
xmlhttp.open('GET', LD_URL10, 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) {
if (xmlhttp.status==200) {
//span id="niv2" ou "niv3"
document.getElementById('niv'+id_liste).innerHTML=xmlhttp.responseText;
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>

juste dessus tu fais une div contenante:




<? include 'ValideLdin0.php';?> <!--Pour remplir la liste déroulante 1-->
<!--Pour remplir la liste déroulante 2-->

<? include 'ValideLdin00.php';?> <!--Pour remplir la liste déroulante 1-->
<!--Pour remplir la liste déroulante 2-->

dans la page ValideLdin0.php(le champ de année) tu fais ton code personnele par exe:

<?PHP

$currentmois=date("m");
$currentannee=date("Y");

$jour=date("d");
$mois=date("m");
$an=date("Y");

//---Les années------//



$retour = 'Année:<select name="Liste5" tabindex="2" id="Liste5" size="1" onchange="ValideLdin0(this[this.selectedIndex].value);">';
$annee = date("Y");
//$limit = $annee + 2;
$retour .="<option selected value=''></option>";
for ($ia=2001;$ia<$annee;$ia++)
{
$retour .="<option value='$ia'>$ia</option>";
}
$retour .="<option value='$annee'>$annee</option>";
$retour .= '</select>';
echo $retour
?>
et dans la page ValideLdin00.php tu fais ce code qui va rafraichir le mois en fonction d'année:

<?PHP
session_start();
$Ld1_annee = $_GET['Ld100'];
$currentmois=date("m");
$currentannee=date("Y");
$jour=date("d");
$mois=date("m");
$an=date("Y");
$mois_liste = array('Janvier','Fevrier','Mars','Avril','Mai','Juin','Juillet','Aout',
'Septembre','Octobre','Novembre','Decembre');

if ($Ld1_annee!=''){
$retourm = 'Mois:<select name="Liste6" tabindex="2" id="Liste6" size="1" onchange="ValideLdin00(this[this.selectedIndex].value);">';
global $mois_liste;
$retourm .="<option selected value=''></option>";
for ($ii=1;$ii<13;$ii++)
{
$j = $ii-1;
if ($ii<10) $ii="$ii";
if($ii==$mois){
$retourm .="<option value='$Ld1_annee.$ii'>$mois_liste[$j]</option>";
}else
{
$retourm .="<option value='$Ld1_annee.$ii'>$mois_liste[$j]</option>";

}
}

$retourm .= '</select>';
echo $retourm;
}
?>

aprés tu aura cette interface

combobox année combobox mois
et lorsque tu selectionne l'année dans le combobox de mois sa va rafraichir automatiquement en fonction de l'année
et voila....
cdt
sidalilo
0
mostafaboukhar Messages postés 3 Date d'inscription samedi 19 février 2011 Statut Membre Dernière intervention 8 avril 2011
17 mars 2011 à 19:08
MErci mon ami c'est gentil de ta part
0
Rejoignez-nous