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:
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>
e la select è:
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>