lato server puoi avere quello che ti pare
il lavoro maggiore č lato client, dunque js
la richiesta ajax se vuoi te la risparmi usando prototype
dovresti solo scrivere il codice per riempire la select vuota o creare il campo di testo
tipo
codice:
new Ajax.Request(
'pagina.php',
{method:'get',
asynchronous:true,
parameters:'parametro=valore¶m=val...',
onComplete:vediTu
}
);
function vediTu(req) {
// req č di tipo XMLHttpRequest
}
dovresti analizzare la risposta e popolare la select
comincia a fare la pagina php, deve ritornare un xml come
<?xml version=\"1.0\"?>
<result>
<value name="un valore" val="v1"></value>
<value name="un altro valore" val="v2"></value>
<value name="..." val="v3"></value>
</result>
se tornasse questo poi fai
codice:
function vediTu(req) {
var xml = req.responseXML;
var root = xml.getElementsByTagName('result');
for (var i=0; i<root.getElementsByTagName('value').length; i++) {
var attrib = root.getElementsByTagName('value').item(i).attributes;
var text = attrib.getNamedItem('name').nodeValue;
var value = attrib.getNamedItem('val').nodeValue;
document.nomeform.nomeselect.options[i] = new Option(text, value);
}
}