Ciao a tutti, ho una domanda che per un esperto di javascript sarà semplice... non per me che non lo conosco bene!
Ho 'pagina_1.php' con un form, nel form ho due select 'dinamiche' ma con dei valori fissati a mano: nella prima select faccio la prima scelta ed in base a quella scelta la seconda mi si riempie delle opzioni relative.
Tutto ok...
Vado alla pagina successiva 'pagina_2.php' ed in base ad altri input posso andare avanti nel sito e vedere a video i risultati di una lettura di directory (ma a voi questa parte non interessa...).
PROBLEMA:
Se uno va alla 'pagina_2.php' e torna indietro (col tasto del browser) alla 'pagina_1.php', si ritrova con la prima select inserita (con la scelta che aveva selezionato), ma nella seconda select non c'è nulla e non c'è modo di selezionarla. L'unica maniera è quella di cliccare su 'aggiorna - F5' e ricaricare daccapo la pagina.
DOMANDA:
E' possibile fare in modo che tornando indietro col tasto del browser possa dare un 'refresh' automatico? Oppure anche ricompilare pari pari le due select??
Mi metto il codice della pagina_1.php:
e la select è:codice:<head> <script type="text/javascript"> <!-- /* Script tratto dal libro "JavaScript and DHTML Cookbook" - Capitolo 8-13 Pubblicato da O'Reilly & Associates Copyright 2003 Danny Goodman Riprodurre questa nota per qualunque riutilizzo del codice. */ var armatore = new Object() armatore["m.e."] = [{value:"bice", text:"bice"}, {value:"lml", text:"lml"}]; armatore["fin"] = [{value:"isam", text:"isam"}, {value:"isat", text:"isat"}, {value:"isbr", text:"isbr"}, {value:"isco", text:"isco"}, {value:"mess", text:"mess"}]; function setCities(chooser) { var newElem; var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null; var cityChooser = chooser.form.elements["ID_nave"]; while (cityChooser.options.length) { cityChooser.remove(0); } var choice = chooser.options[chooser.selectedIndex].value; var db = armatore[choice]; newElem = document.createElement("option"); newElem.text = "Seleziona..."; newElem.value = ""; cityChooser.add(newElem, where); if (choice != "") { for (var i = 0; i < db.length; i++) { newElem = document.createElement("option"); newElem.text = db[i].text; newElem.value = db[i].value; cityChooser.add(newElem, where); } } } </head>
codice:<select name="ID_armatore" onChange="setCities(this)" class="campiform"> <option value="" selected="selected"> Seleziona... </option> <option value="m.e."> m.e. </option> <option value="fin"> fin </option> </select>![]()
![]()

Rispondi quotando
