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

    Problema con select collegate e db

    Salve a tutti ragazzi , sono un nuovo utente e dovrei sottoporvi un problemino che sicuramente è banale ma non mi fa più dormire la notte . Praticamente io ho due select (regione, provincia) collegate tra loro nel senso che scegliendo una regione nella prima, ho tutte le provincie di quella regione nella seconda. Fin qui nessun problema dato che il tutto funziona a meraviglia. Il problema si pone quando uso queste select all interno di una form che inserisce i dati in un nuovo record del DB. Infatti nel database non mi compare la provincia ma solamente il valore dell'indice dell'elemento provincia (mentre per la regione non compare questo problema). Praticamente nel campo provincia appaiono solo numeri e vorrei sapere se esiste un modo per risolvere questo problema.

    Il codice JS è il seguente:
    codice:
    var regAndProvs={};  
    regAndProvs['Abruzzo'] = ['Chieti' , 'L Aquila' , 'Pescara' , 'Teramo'];  
    regAndProvs['Basilicata'] = ['Matera' , 'Potenza'];  
    regAndProvs['Calabria'] = ['Catanzaro' , 'Cosenza' , 'Crotone' , 'Reggio Calabria' , 'Vibo Valentia'];  
    regAndProvs['Campania'] = ['Avellino' , 'Benevento' , 'Casera' , 'Napoli' , 'Salerno'];  
    regAndProvs['EmiliaRomagna'] = ['Bologna' , 'Ferrara' , 'Forlì-Cesena' , 'Modena' , 'Parma' , 'Piacenza' , 'Ravenna' , 'Reggio Emilia' , 'Rimini'];  
    regAndProvs['FriuliVeneziaGiulia'] = ['Gorizia' , 'Pordenone' , 'Trieste' , 'Udine'];  
    regAndProvs['Lazio'] = ['Frosinone' , 'Latina' , 'Rieti' , 'Roma' , 'Viterbo'];  
    regAndProvs['Liguria'] = ['Genova' , 'Imperia' , 'La Spezia' , 'Savona'];   
    regAndProvs['Lombardia'] = ['Bergamo' , 'Brescia' , 'Como' , 'Cremona' , 'Lecco' , 'Lodi' , 'Mantova' , 'Milano' , 'Monza e Brianza' , 'Pavia' , 'Sondrio' , 'Varese'];  
    regAndProvs['Marche'] = ['Ancona' , 'Ascoli Piceno' , 'Fermo' , 'Macerata' , 'Pesaro Urbino'];  
    regAndProvs['Molise'] = ['Campobasso' , 'Isernia'];  
    regAndProvs['Piemonte'] = ['Alessandria' , 'Asti' , 'Biella' , 'Cuneo' , 'Novara' , 'Torino' , 'Verbano-Cusio-Ossola' , 'Vercelli'];  
    regAndProvs['Puglia'] = ['Bari' , 'Barletta-Andria-Trani' , 'Brindisi' , 'Foggia' , 'Lecce' , 'Taranto'];  
    regAndProvs['Sardegna'] = ['Cagliari' , 'Carbonia-Iglesias' , 'Medio Campidano' , 'Nuoro' , 'Ogliastra' , 'Olbia-Tempio' , 'Oristano' , 'Sassari'];  
    regAndProvs['Sicilia'] = ['Agrigento' , 'Caltanissetta' , 'Catania' , 'Enna' , 'Messina' , 'Palermo' , 'Ragusa' , 'Siracusa' , 'Trapani'];  
    regAndProvs['Toscana'] = ['Arezzo' , 'Firenze' , 'Grosseto' , 'Livorno' , 'Lucca' , 'Massa e Carrara' , 'Pisa' , 'Pistoia' , 'Prato' , 'Siena'];  
    regAndProvs['TrentinoAltoAdige'] = ['Bolzano' , 'Trento'];  
    regAndProvs['Umbria'] = ['Perugia' , 'Terni'];  
    regAndProvs['ValledAosta'] = ['Aosta'];  
    regAndProvs['Veneto'] = ['Belluno' , 'Padova' , 'Rovigo' , 'Treviso' , 'Venezia' , 'Verona' , 'Vicenza'];    
    
    function ChangeRegList()  
    {  
    var regList=document.getElementById("reg");  
    var provList=document.getElementById("prov");  
    var selReg=regList.options[regList.selectedIndex].value;  
    while (provList.options.length)  
    {  
    provList.remove(0);  
    }  
    var regions=regAndProvs[selReg];  
    if (regions)  
    {  
    for (var i=0;i<regions.length;i++)  
    { 
     var region=new Option(regions[i],i);  
    provList.options.add(region);  
    }  
    }  
    }
    Questo procedimento mi serve per un progetto dell'università e non posso utilizzare JQuery o altro ma solo il JS di base.

    Ringrazio anticipatamente quanti mi potranno aiutare e nel caso una risposta a questo problema esistesse già mi scusa per non averla trovata

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova a mettere degli alert nella funzione e nel ciclo per fare delle verifiche sugli step che i dati siano corretti, se non risolvi metti una pagina pubblica online da testare.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Grazie mille per la risposta, sei stato molto gentile. Comunque non ho ben capito cosa intendi con mettere delle alert ma forse mi sono spiegato male io. Il problema non risiede nello script in se perchè funziona ma nel fatto che non mi mette la stringa della provincia ma ben si mi mette solamente un numero che poi sarebbe l'indice dell'elemento dell' array. Però per non sbagliare ho fatto come mi hai detto e ho creato una pagina pubblica che mostra il problema.
    http://provathorpey.altervista.org/
    Se vai nel link in basso della pagina vedrai il problema in forma tabellare

    Se per caso non bastasse dimmi pure che posso anche mettere i dati ftp per visionare meglio il codice (lo script è contenuto in un file separato) tanto questo host è solo per provare e non ci sono problemi.

    P.S. Mi scuso per la "brutalità" della pagina e soprattutto se non sono stato molto preciso ma sono agli inizi


  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Perché una volta selezionata la regione la select "prov" si presenta cosi:
    <select id="prov" name="prov">
    <option value="0">Bologna</option>
    <option value="1">Ferrara</option>
    <option value="2">Forlì-Cesena</option>
    <option value="3">Modena</option>
    <option value="4">Parma</option>
    <option value="5">Piacenza</option>
    <option value="6">Ravenna</option>
    <option value="7">Reggio Emilia</option>
    <option value="8">Rimini</option>
    </select>
    prova a cambiare questa riga:
    var region=new Option(regions[i],i);
    con questa:
    var region=new Option(regions[i],regions[i]);
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Perfetto!!!! Grazie mille, ho finalmente risolto il problema. Sei stato gentilissimo e soprattutto utilissimo. Grazie ancora

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.