Ciao,
ho optato per la prima opzione ovvero quella con JS...
l'ho adattato alle mie esigenze quindi con i valori che mi servono...

ora non capisco come mandare quello che seleziono al Database?
Io voglio che appena clicco sulla voce del select HTML mi invii al DB quello che c'è in quel value.

grazie mille

Quote Originariamente inviata da U235 Visualizza il messaggio
Ciao
hai almeno due strade: la prima è decisamente poco professionale, ovvero fai semplicemente un submit del form tramite javascript
codice:
<div id="response"></div>
    <form METHOD=GET>
        <select name="select" onchange="document.querySelector('form').submit()">
            <option value="1">a</option>
            <option value="2">b</option>
            <option value="3">c</option>
            <option value="4">d</option>
            <option value="5">e</option>
        </select>
    </form>
    <script>
        document.querySelector('form').action = window.location;
        //prova di concetto
        //recupera i parametri passati in querystring e li mette nella div response
        //questo simula la risposta lato server e dimostra il passaggio dei parametri in querystring nella richiesta  senza pagina server
        var params = new URLSearchParams(location.search);
        if (params.has('select')) {
            document.getElementById("response").innerHTML = params.get('select');
        }
    </script>
(tutto il lavoro è svolto da questo):
codice:
<select name="select" onchange="document.querySelector('form').submit()">
(il resto del codice serve solo a impostare la action e vedere il risultato senza pagina server)

Ma questo significa che ad ogni cambio viene inviato il form con relativo cambio di pagina. Prova ad immaginare se uno sbaglia la selezione, sai che rogna...

la seconda è decisamente migliore e presuppone che tu debba iniziare ad usare Ajax, ma l'operazione di invio non sarà visibile all'utente, a meno che non voglia avvisarlo tu.

Il mio consiglio è di utilizzare Ajax

codice:
<div id="response"></div>
    <select id="select" onchange="send()">
            <option value="1">a</option>
            <option value="2">b</option>
            <option value="3">c</option>
            <option value="4">d</option>
            <option value="5">e</option>
    </select>
    <script>
        function send() {
            var xhttp = new XMLHttpRequest();
            xhttp.onreadystatechange = function () {
                if (this.readyState == 4 && this.status == 200) {
                    //prova di concetto
                    //recupera i parametri passati in querystring e li mette nella div response
                    //questo simula la risposta lato server e dimostra il passaggio dei parametri in querystring nella richiesta senza pagina server
                    var params = new URLSearchParams(new URL(this.responseURL).search);
                    if (params.has('select')) {
                        document.getElementById("response").innerHTML = params.get('select');
                    }
                }
            };
            //accodo il valore recuperato dalla select a url da chiamare (in questo caso se stesso)
            var urlAndParams = window.location + "?select=" + document.getElementById("select").value;
            xhttp.open("GET", urlAndParams, true);
            xhttp.send();
        }
    </script>
qui una prova funzionante