Ciao a tutti,
ho un problema sul passaggio di un valore pescato da una select..
gestisco le select in questo modo:
codice:
var regiondb = new Object()
regiondb["Agrigento"] = [{value:"1", text:"Agrigento"},
{value:"2", text:"Alessandria della Rocca"},
{value:"3", text:"Aragona"}];
regiondb["Alessandria"] = [{value:"44", text:"Acqui Terme"},
{value:"45", text:"Albera Ligure"},
{value:"46", text:"Alessandria"}];
regiondb["Ancona"] = [{value:"234", text:"Agugliano"},
{value:"235", text:"Ancona"},
{value:"236", text:"Arcevia"}];
function setCities(chooser) {
var newElem;
var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;
var cityChooser = chooser.form.elements["city"];
while (cityChooser.options.length) {
cityChooser.remove(0);
}
var choice = chooser.options[chooser.selectedIndex].value;
var db = regiondb[choice];
newElem = document.createElement("option");
newElem.text = "- - - -";
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);
}
}
}
Questo è l'html:
codice:
<form method="post" name="orderForm" action="mail.php">
<div>
<label>Provincia</label>
<select id="prov" name="prov" class="fieldsel" onchange="setCities(this)">
<option value="" selected="selected">Scegli</option>
<option value="Agrigento">Agrigento</option>
<option value="Alessandria">Alessandria</option>
<option value="Ancona">Ancona</option>
</select>
</div>
<div>
<label>Città</label>
<select id="city" name="city" class="fieldsel">
<option value="" selected="selected">Scegli</option>
</select>
</div>
</form>
in mail.php che processa il messaggio recupero il valore della città con
$city = $_POST['city'];
il problema è che mi stampa il value della città scelta (es: value:"44" per Acqui Terme)..e non il text Acqui Terme.
Come posso fare per evitare di sostituire tutti i numeri dei value con i rispettivi nomi delle città?
Grazie