cs_sidalilo
Messages postés108Date d'inscriptionmardi 28 février 2006StatutMembreDernière intervention 9 juillet 2013
-
7 févr. 2010 à 14:29
mostafaboukhar
Messages postés3Date d'inscriptionsamedi 19 février 2011StatutMembreDerniè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
cs_sidalilo
Messages postés108Date d'inscriptionmardi 28 février 2006StatutMembreDerniè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:
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