In un form ho un menų tutte le nazioni del mondo selezionando una delle prime 17 che sarebbro quelle europee e gli stati uniti mi si dovrebbe popolare un menų con le regioni della nazione selezionata mentre selezionando le altre mi dovrebbe restituire un valore zero poi ho un controllo per cui se la nazione č una delle prime 17 deve essere scelta anche la regione.
Se lo stato č uno dei 17 funziona tutto bene altrimenti purtroppo non funziona
qui sotto c'č il codice spero che qualche anima pia mi voglia dare una mano

<script language="JavaScript">
function controllo()
{
if (iscrizione.nazione.value == "")
{
alert("<?echo M_nazione;?>");
iscrizione.nazione.focus();
return (false);
}
if (iscrizione.regione.value == "")
{
alert("<?echo M_regione;?>");
iscrizione.regione.focus();
return (false);
}
}
</script>
<SCRIPT LANGUAGE="JavaScript">
a=new Array(200);
var catsIndex = -1;
var itemsIndex;

function newCat(){
catsIndex++;
a[catsIndex] = new Array();
itemsIndex = 0;
}

function O(txt,url) {
a[catsIndex][itemsIndex]=new myOptions(txt,url);
itemsIndex++;
}

function myOptions(text,value){
this.text = text;
this.value = text;
}


newCat();
O("Burgenland","209");
O("Karnten","210");
O("Niederosterreich","211");
O("Oberosterreich","212");
O("Salzburg","213");
O("Steiermark","214");
O("Tirol","215");
O("Vorarlberg","216");
O("Wien (Viena)","217");

newCat();
O("Antwerpen","101");
O("Brabant","102");
O("Henegouwen","103");
O("Limburg","106");
O("Luik","105");
O("Luxemburg","107");
O("Namen","104");
O("Oosr Vlaanderen","100");
O("West Vlaanderen","99");

newCat();
O("Alborg","329");
O("Arhus","327");
O("Esbjerg","330");
O("Greve Strand","336");
O("Horsens","333");
O("Kobenhavn (Copenhagen)","326");
O("Kolding","332");
O("Naestved","337");
O("Odense","328");
O("Randers","331");
O("Roskilde","335");
O("Sikeborg","338");
O("Vejle","334");

newCat();
O("Ahvenanmaa","305");
O("Etela-karjala","295");
O("Etela-Pohjanmaa","299");
O("Etela-Savo","296");
O("Ita-Uusimma","289");
O("Kainuu","303");
O("Kanta-Hame","291");
O("Keski-Pohjanmaa","301");
O("Keski-Suomi","298");
O("Kymenlaakso","294");
O("Lappi","304");
O("Paijat-Hame","293");
O("Pirkanmaa","292");
O("Pohjanmaa","300");
O("Pohjois-karjala","297");
O("Pohjois-Pohjanmaa","302");
O("Pohjois-Savo","307");
O("Satakunta","290");
O("Uusimaa","288");
O("Varsinais-Suoni","306");

newCat();
O("Alsace","131");
O("Aquitaine","136");
O("Auvergne","140");
O("Basse-Normandie","127");
O("Bourgogne","128");
O("Bretagne","134");
O("Centre","126");
O("Champagne-Ardenne","123");
O("Corse","143");
O("Franche-Comte","132");
O("Haute-Normandie","125");
O("Ile-de-France","122");
O("Languedoc-Roussillon","141");
O("Limousin","138");
O("Lorraine","130");
O("Midi-Pyrenees","137");
O("Nord-Pas-de-Calais","129");
O("Pays de la Lorie","133");
O("Picardie","124");
O("Poitou-Charentes","135");
O("Province-Alpes-Cote D'Azur","142");
O("Rhone-Alpes","139");

newCat();
O("Baden-Wurttemberg","144");
O("Bayern","145");
O("Berlin","146");
O("Brandenburg","147");
O("Bremen","359");
O("Hamburg","148");
O("Hessen","149");
O("Mecklenburg-Vorpommern","150");
O("Niedersachesen","151");
O("Nordrhien-Westfalen","152");
O("Reinland-Pfalz","153");
O("Saarland","154");
O("Sachsen","155");
O("Sachsen-Anhalt","156");
O("Schleswig-Holstein","157");
O("Thuringen","158");

newCat();
O("Athinai","360");
O("Canea","368");
O("Iraklion","363");
O("Kavala","366");
O("Larissa","364");
O("Piraeus","362");
O("Serres","367");
O("Thessaloniki","361");
O("Volos","365");

newCat();
O("Antrim","68");
O("Armagh","71");
O("Avon","31");
O("Bedfordshire","25");
O("Berkshire","33");
O("Borders","64");
O("Buckinghamshire","28");
O("Cambridgeshire","20");
O("Central","62");
O("Cheshire","11");
O("Cleveland","5");
O("Clwyd","48");
O("Cornwall","44");
O("Cumbria","3");
O("Derbyshire","12");
O("Devon","43");
O("Dorset","36");
O("Down","72");
O("Dumfries and Galloway","66");
O("Durham","4");
O("Dyfed","50");
O("East Sussex","40");
O("Essex","30");
O("Fermanagh","70");
O("Fife","61");
O("Gloucestershire","26");
O("Grampian","59");
O("Greater London","34");
O("Greater Manchester MC","9");
O("Gwent","54");
O("Gwynedd","47");
O("Hampshire","37");
O("Hereford and Worchester","22");
O("Hertfordshire","29");
O("Highland","58");
O("Humberside","7");
O("Isle of Wight","38");
O("Kent","42");
O("Lancashire","45");
O("Leicestershire","19");
O("Lincolnshire","14");
O("Londonderry","67");
O("Lothian","63");
O("Merseyside MC","8");
O("Mid Glamorgan","52");
O("Norfolk","15");
O("North Yorkshire","6");
O("Northamptonshire","24");
O("Northumberland","1");
O("Nottinghamshire","13");
O("Orkney Island Area","56");
O("Oxfordshire","27");
O("Powys","49");
O("Salop","16");
O("Shetland Island Area","55");
O("Somerset","35");
O("South Glamorgan","53");
O("South Yorkshire","10");
O("Staffordshire","17");
O("Strathclyde","65");
O("Suffolk","21");
O("Surrey","41");
O("Tayside","60");
O("Tyne and Wear MC","2");
O("Tyrone","69");
O("Warwickshire","23");
O("West Glamorgan","51");
O("West Midlands MC","18");
O("West Sussex","39");
O("West Yorkshire","46");
O("Western Isles","57");
O("Wiltshire","32");

newCat();
O("Carlow","96");
O("Cavan","77");
O("Clare","86");
O("Cork","92");
O("Donegal","73");
O("Dublin","85");
O("Galway","80");
O("Kerry","90");
O("Kildare","89");
O("Kilkenny","95");
O("Laois","88");
O("Leitrim","76");
O("Limerick","91");
O("Longford","82");
O("Louth","79");
O("Mayo","74");
O("Meath","84");
O("Monagham","78");
O("Offaly","87");
O("Roscommon","81");
O("Sligo","75");
O("Tipperary","93");
O("Waterford","94");
O("West Meath","83");
O("Wexford","98");
O("Wicklow","97");

newCat();
O("","");
O("Abruzzo","339");
O("Basilicata","340");
O("Calabria","341");
O("Campania","342");
O("Emilia-Romagna","343");
O("Friuli-Venezia-Giulia","344");
O("Lazio","345");
O("Liguria","346");
O("Lombardia","347");
O("Marche","348");
O("Molise","349");
O("Piemonte","350");
O("Puglia","351");
O("Sardegna","352");
O("Sicilia","353");
O("Toscana","354");
O("Trentino-Alto Adige","355");
O("Umbria","356");
O("Valle dAosta","357");
O("Veneto","358");


newCat();
O("Drenthe","117");
O("Flevoland","119");
O("Friesland","116");
O("Gelderland","114");
O("Groningen","118");
O("Limburg","110");
O("Noord Brabant","109");
O("Noord-Holland","112");
O("Overijssel","115");
O("Utrecht","113");
O("Zeeland","108");
O("Zuid-Holland","111");





newCat();
O("Akershus","309");
O("Aust-Agder","316");
O("Buskerud","313");
O("Finnmark","325");
O("Hedmark","311");
O("Hordaland","319");
O("More og Romsdal","321");
O("Nordland","323");
O("Oppland","312");
O("Oslo","310");
O("Ostfold","308");
O("Rogaland","318");
O("Sogn og Fjordane","320");
O("Sor-Trondelag","322");
O("Telemark","315");
O("Troms","324");
O("Vest-Adger","317");
O("Vestfold","314");

newCat();
O("Aveiro","269");
O("Beja","270");
O("Braga","271");
O("Braganca","272");
O("Castelo Branco","273");
O("Coimbra","274");
O("Evora","275");
O("Faro","276");
O("Guarda","277");
O("Leiria","278");
O("Madeira (Island)","287");
O("Portalegre","279");
O("Porto","280");
O("Santarem","281");
O("Setubal","282");
O("The Azores (Island)","286");
O("Viana do Castelo","283");
O("Vila Real","284");
O("Viseu","285");

newCat();
O("Alava","160");
O("Albacete","161");
O("Alicante","162");
O("Almeria","163");
O("Avila","164");
O("Badajoz","165");
O("Baleares","166");
O("Barcelona","167");
O("Bizkaia","168");
O("Burgos","169");
O("Caceres","170");
O("Cadiz","171");
O("Cantabria","172");
O("Castellon","173");
O("Ceuta","174");
O("Ciudad Real","175");
O("Cordoba","176");
O("Cuenca","187");
O("Gibraltar","188");
O("Gipuzkoa","189");
O("Girona","190");
O("Granda","191");
O("Guadalajara","192");
O("Huelva","193");
O("Huesca","194");
O("Jaen","195");
O("La Coruna","159");
O("La Rioja","196");
O("Las Palmas -Gran Canarias-","197");
O("Leon","198");
O("Lledia","199");
O("Lugo","200");
O("Madrid","201");
O("Malaga","202");
O("Melilla","203");
O("Murcia","204");
O("Navarra","177");
O("Orense","178");
O("Palencia","179");
O("Pontevedra","180");
O("Salamanca","181");
O("Segovia","183");
O("Sevilla","247");
O("Soria","184");
O("Sta. Cruz de Tenerife","182");
O("Tarragona","185");
O("Teruel","186");
O("Toldeo","205");
O("Valencia","206");
O("Zamora","207");
O("Zaragoza","208");

newCat();
O("Alabama","380");
O("Alaska","381");
O("Arizona","382");
O("Arkansas","383");
O("California","384");
O("Colorado","385");
O("Connecticut","386");
O("Delaware","387");
O("Florida","388");
O("Georgia","389");
O("Hawaii","390");
O("Idaho","391");
O("Illinois","392");
O("Indiana","393");
O("Iowa","394");
O("Kansas","395");
O("Kentucky","396");
O("Louisiana","397");
O("Maine","398");
O("Maryland","399");
O("Massachusetts","400");
O("Michigan","401");
O("Minnesota","402");
O("Mississippi","403");
O("Missouri","404");
O("Montana","405");
O("Nebraska","406");
O("Nevada","407");
O("New Hampshire","408");
O("New Jersey","409");
O("New Mexico","410");
O("New York","411");
O("North Carolina","412");
O("North Dakota","413");
O("Ohio","414");
O("Oklahoma","415");
O("Oregon","416");
O("Pennsylvania","417");
O("Rhode Island","418");
O("South Carolina","419");
O("South Dakota","420");
O("Tennessee","421");
O("Texas","422");
O("Utah","423");
O("Vermont","424");
O("Virginia","425");
O("Washington","426");
O("West Virginia","427");
O("Wisconsin","428");
O("Wyoming","429");


newCat();
O("Blekinge","255");
O("Dalarnus","262");
O("Gavleborgs","263");
O("Gotlands","254");
O("Hallands","257");
O("Jamtlands","266");
O("Jonkopings","251");
O("Kalmar","253");
O("Kronobergs","252");
O("Norrbottens","267");
O("Orebro","260");
O("Ostergotlands","250");
O("Skane","256");
O("Sodermanlands","268");
O("Stockholms","248");
O("Uppsala","249");
O("Varmlands","259");
O("Vasterbottens","264");
O("Vasternorrlands","265");
O("Vastmanlands","261");
O("Vastra Gotlands","258");

newCat();
O("Aargau","239");
O("Appenzell","234");
O("Ausserrhoden","235");
O("Basel","230");
O("Basel-Landschaft","232");
O("Basel-Stadt","231");
O("Bern","219");
O("Frigourg","228");
O("Geneve","245");
O("Glarus","226");
O("Graubunden","238");
O("Innerrhoden","236");
O("Jura","246");
O("Luzern","220");
O("Neuchatel","244");
O("Nidwalden","225");
O("Obwalden","224");
O("Schaffhausen","233");
O("Schwyz","222");
O("Solothurn","229");
O("St. Gallen","237");
O("Thurgau","240");
O("Ticino","241");
O("Unterwalden","223");
O("Uri","221");
O("Valais","243");
O("Vaud","242");
O("Zug","227");
O("Zurich","218");





function relate(form) {
var j = form.nazione.selectedIndex -1
form.regione.length = 1
for(i=0;i<a[j].length;i++){
form.regione.options[i+1] = new Option(a[j][i].text,a[j][i].value);
}
form.regione.options[0].selected = true;

}

</SCRIPT>
////////////////////////////////////////////////////////////
poi la parte del form č

<form method="post" enctype="multipart/form-data" action="prova.php" name="iscrizione" onSubmit="return controllo();">

<SELECT NAME="nazione" ID="m1" onChange="relate(this.form);this.options[this.selectedIndex].value=this.options[this.selectedIndex].text;alert(this.options[this.selectedIndex].value)" class="textinput">
<option selected value=""></option>
<option value=1.15>Austria</option>
<option value=1.43>Belgio</option>
<option value=1.24>Danimarca</option>
<option value=1.21>Finlandia</option>
<option value=1.45>Francia</option>
<option value=1.46>Germania</option>
<option value=1.56>Grecia</option>
<option value=1.13>Inghilterra</option>
<option value=1.89>Irlanda</option>
<option value=1.98>Italia</option>
<option value=1.163>Olanda</option>
<option value=1.78>Norvegia</option>
<option value=1.151>Portogallo</option>
<option value=1.60>Spagna</option>
<option value=1.159>Stati Uniti</option>
<option value=1.178>Svezia</option>
<option value=1.147>Svizzera</option>
<option>------------</option>
<option value=1>Angola</option>
<option value=2>Argentina</option>

ecc.....


</select>


<SELECT NAME="regione" ID="m2" class="textinput">
<OPTION value="ALL" selected></OPTION>
</SELECT>

della regione vorrei poter salvare nel db il numero e non il nome come accade ora
Ciao e grazie giā da ora a chi mi vorrā aiutare.