Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    invio variabili da form con select dinamiche

    Sto cercando di costruire un form che preveda più select a cascata i cui valori option si aggiornano dinamicamente. Ci sono innumerevoli post sull'argomento ed io ho provato molti script ma purtroppo, e penso che sia anche prevedibile, se voglio aggiornare dinamicamente le select devo fare ogni volta il submit (refresh) del form e quindi perdo il valore che ho settato nella select precedente. Morale della favola non riesco ad inserire tutti i valori scelti all'interno di un unica query finale perché l'unico valore che mi rimane è quello dell'ultima select. Uso php come linguaggio server ma non so se la faccenda vada risolta con php o con javascript. C'è qualcuno che può darmi un suggerimento?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    Re: invio variabili da form con select dinamiche

    Originariamente inviato da vicky
    Sto cercando di costruire un form che preveda più select a cascata i cui valori option si aggiornano dinamicamente. Ci sono innumerevoli post sull'argomento ed io ho provato molti script ma purtroppo, e penso che sia anche prevedibile, se voglio aggiornare dinamicamente le select devo fare ogni volta il submit (refresh) del form e quindi perdo il valore che ho settato nella select precedente. Morale della favola non riesco ad inserire tutti i valori scelti all'interno di un unica query finale perché l'unico valore che mi rimane è quello dell'ultima select. Uso php come linguaggio server ma non so se la faccenda vada risolta con php o con javascript. C'è qualcuno che può darmi un suggerimento?
    Ho passi i valori tramite query string es:

    codice:
    <select name="select1" id="select1" onchange="?select1="+this[this.selectedIndex].value>
             <option value="1" <? if $_GET["select1"] = 1 echo "selected"; ?>>1</option>
            <option value="2" <? if $_GET["select1"] = 2 echo "selected"; ?>>2</option>
            <option value="3" <? if $_GET["select1"] = 3 echo "selected"; ?>>3</option>
            <option value="4" <? if $_GET["select1"] = 4 echo "selected"; ?>>4</option>
            <option value="5" <? if $_GET["select1"] = 5 echo "selected"; ?>>5</option>
    </select>
    <select name="select2" id="select2"onchange="?select1="+document.getElemntById('selec1').options[document.getElemntById('selec1').options.selectedIndex].value+"&select2="+this[this.selectedIndex].value>
             <option value="1" <? if $_GET["select2"] = 1 echo "selected"; ?>>1</option>
            <option value="2" <? if $_GET["select2"] = 2 echo "selected"; ?>>2</option>
            <option value="3" <? if $_GET["select2"] = 3 echo "selected"; ?>>3</option>
            <option value="4" <? if $_GET["select2"] = 4 echo "selected"; ?>>4</option>
            <option value="5" <? if $_GET["select2"] = 1 echo "selected"; ?>>5</option>
    </select>
    incatenado i valori tramite query string
    oppure ajax
    http://javascript.html.it/guide/leggi/95/guida-ajax/


    P.S. non conosco il PHP potrei aver scritto delle
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Ho capito che con la query string posso inviare le variabili ricavate dalle varie select ma il problema è che siccome il contenuto delle select viene determinato mediante uno script javascript che fa un submit e carica la select in funzione della scelta effettuata nella select precedente (vedi classico esempio :regioni->provincie->comuni) si produce il refresh della pagina e si annulla la variabile selezionata nella prima select. Questo è lo script:
    Codice PHP:
    <script type="text/javascript">
    function 
    SelectPost()
    {
        
    document.ricerca.method "get";
        
    document.ricerca.action "form1.php";
        
    document.ricerca.submit();
    }
    <
    form name="ricerca" action="form1.php" method="get">
    <
    select name='select1' value='select1' onChange="SelectPost();">
    <
    option value=''>seleziona </option>
    <
    option value='0'>Tutti</option>
    <
    option value=\"$IdCampo\">$Campo</option>\n";
    </
    select>
    <
    input type="submit" name="submit" value="Invia" /> 
    </
    form
    Grazie per l'attenzione

  4. #4

  5. #5
    Ma il mio problema non è riempire delle select in modo dinamico bensì inviare tutte le scelte effettuate (una per ciascuna select) ad una query che dovrà produrre il risultato finale della ricerca.
    Forse il problema del mio script è che faccio il submit ogni volta che riempio una select, invece nel suggerimento di Dennis (che peraltro avevo già visto nel forum) ciò non avviene, perché lui riempie le select inserendo tutte le options attraverso degli array. Ma se io ho una select che deve contenere un migliaio di voci come faccio? Scusatemi ma non so proprio che pesci pigliare!

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da vicky
    Ma il mio problema non è riempire delle select in modo dinamico bensì inviare tutte le scelte effettuate (una per ciascuna select) ad una query che dovrà produrre il risultato finale della ricerca.
    Forse il problema del mio script è che faccio il submit ogni volta che riempio una select, invece nel suggerimento di Dennis (che peraltro avevo già visto nel forum) ciò non avviene, perché lui riempie le select inserendo tutte le options attraverso degli array. Ma se io ho una select che deve contenere un migliaio di voci come faccio? Scusatemi ma non so proprio che pesci pigliare!
    Ma la mia soluzione con ajax l'hai valutata? Cosi potrai interrogare il DB senza ricaricare la pagina.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Hai ragione Andrea, ma temo che avventurarmi in Ajax per me sia oltremodo difficile: già capisco poco di javascript e php....

  8. #8

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    21

    HAI RISOLTO?

    Se sei riuscito a realizzare ciò che volevi mi puoi dire come .....

    Anche io ho lo stesso problema
    Ciao

  10. #10
    Ciao!
    Ho inserito in ciascuna select un javascript che mi fa il submit del form nella stessa pagina ad ogni cambiamento di selezione della select stessa, così:

    onchange="document.getElementById('modulo').submit ();"

    se non sono stata abbastanza chiara, dimmi pure

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.