J'ai un petit soucis avec mon select name=ville, il ne fonctionne pas et le reste fonctionne parfaitement.
<form action="forms/depot.php" method="post" name="formulaire" enctype="multipart/form-data">
<p class="fd2">
<select name="region" onChange="choix_a(this)" size="1" class="texte">
<option value=-1 selected>-- régions / pays --</option>
<option value=0>Alsace</option>
<option value=1>Aquitaine</option>
<option value=2>Auvergne</option>
</select>
<select name="departement" onChange="choix_b(this)" size="1" class="texte">
<option value=0>-- département --</option>
</select>
<select name="ville" size="1" class="texte">
<option value=0>-- ville --</option>
</select>
fCode : Tout sélectionner
unction choix_a ( selectbox) {
var label;
var value;
var newopt;
var flag = true;
var selectarea2 = selectbox.options[ selectbox.selectedIndex ].value;
switch ( selectarea2 ) {
case "0": label = new Array("-- votre choix --", "Bas Rhin (67)", "Haut Rhin (68)" );
value = new Array("0","67", "68" );
break;
case "1": label = new Array("-- votre choix --", "Dordogne (24)", "Gironde (33)", "Landes (40)", "Lot-et-Garonne (47)", "Pyrénées-Atlantiques (64)" );
value = new Array("0","24", "33", "40", "47", "64" );
break;
default : label = new Array( "-- votre choix --");
value = new Array( "0");
break;
}
var selbox2 = document.formulaire.departement;
var selbox3=document.formulaire.ville;
for ( var i = selbox2.options.length - 1; i >= 0; i-- ) {
selbox2.options[ i ] = null;
}
for ( var i = selbox3.options.length - 1; i >= 0; i-- ) {
selbox3.options[ i ] = null;
}
for ( var j = 0; j < label.length; j++ ) {
newopt = new Option ( label[ j ], value[ j ], false, false );
selbox2.options[ j ] = newopt;
}
selbox3.options.length=1;
newopt=new Option('--choix--',0,false,false);
selbox3.options[0]=newopt;
}
Code : Tout sélectionner
function choix_b ( selectbox) {
var label;
var value;
var newopt;
var flag = true;
var selectarea2 = selectbox.options[ selectbox.selectedIndex ].value;
switch ( selectarea2 ) {
case "67": label = new Array("-- votre choix --", "(67204) ACHENHEIM", "(67320) ADAMSWILLER" );
value = new Array("0","67204", "67320" );
break;
default : label = new Array( "-- votre choix --");
value = new Array( "0");
break;
}
var selbox2 = document.formulaire.ville;
for ( var i = selbox2.options.length - 1; i >= 0; i-- ) {
selbox2.options[ i ] = null;
}
for(var j=0;<label.length;j++){
newopt=new Option(label[j],value[j],false,false);
selbox2.options[j]=newopt;
}
}