Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630

    Select concatenate impostare di default dato memorizzato

    Carissimi,
    ho trovato uno script in javascript che gestisce in select concatenate: regioni, comuni, prov e cap.
    Ora, l'ho inserito in uno form che li memorizza nel db access. Nella pagina successiva, alla visualizzazione / modifica dei dati vorrei che le select di default mi impostino i dati precedentemente inseriti per poi eventualmente modificarli.
    Ecco lo script
    codice:
    function carica_regioni() {
        var a = document.getElementById('regione');
        var b = return_regioni();
        b = b.sort();
        document.getElementById('provincia').options.length = 0;
        document.getElementById('città').options.length = 0;
        document.getElementById('cap').options.length = 0;
        a.options[0] = new Option("Scegli Regione", "NULL");
        for (i = 0; i < b.length; i++) {
            var c = b[i].split(';');
            a.options[i + 1] = new Option(c[0], c[0])
        }
    }
    function carica_province() {
        var a = document.getElementById('provincia');
        var b = document.getElementById('regione').value;
        if (b == 'NULL') {
            a.options.length = 0
        } else a.options[0] = new Option("Scegli Provincia", "NULL");
        document.getElementById('città').options.length = 0;
        document.getElementById('cap').options.length = 0;
        var c = b[0];
        var d = b[1];
        var e = return_province(b);
        e = e.sort();
        for (i = 0; i < e.length; i++) {
            var f = e[i].split(';');
            a.options[i + 1] = new Option(f[0], f[1])
        }
    }
    function carica_città () {
        var select_field = document.getElementById('città');
        var regione = document.getElementById('regione').value;
        var sigla_provincia = document.getElementById('provincia').value;
        if (sigla_provincia == 'NULL') {
            select_field.options.length = 0
        } else select_field.options[0] = new Option("Scegli Città", "NULL");
        document.getElementById('cap').options.length = 0;
        var lista_comuni = return_comuni(sigla_provincia);
        for (i = 0; i < lista_comuni.length; i++) {
            var curr = lista_comuni[i].split(';');
            select_field.options[i + 1] = new Option(curr[1], curr[0])
        }
    }
    function carica_cap() {
        var a = document.getElementById('cap');
        var b = document.getElementById('regione').value;
        var c = document.getElementById('provincia').value;
        var d = document.getElementById('città').value;
        var e = return_cap(d).split(',');
        if (d == 'NULL') {
            a.options.length = 0
        } else a.options[0] = new Option("Scegli CAP", "NULL");
        for (i = 0; i < e.length; i++) a.options[i + 1] = new Option(e[i], e[i])
    }
    Ecco come li richiamo nel form principale di inserimento.
    codice:
    <select name="regione" id="regione" onchange="carica_province();"></select>
    
    <select name="provincia" id="provincia" onchange="carica_città();"></select>
    
    <select name="città" id="città" onchange="carica_cap();"></select>
    
    <select name="cap" id="cap"></select></select>
    Premetto che i dati delle regioni etc sono file javascript, quindi non utilizza nessun db.
    Grazie
    G.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Preimpostare i dati nelle select nella nuova pagina e' un compito che spetta al linguaggio lato server...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    quindi come posso impostarlo!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Nessun aiuto?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Up

  6. #6
    Dovresti studiare un linguaggio di programmazione lato server proprietario(es. ASP) o open(es. php) solo così potrai caricare dati da db o altro.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Forse non mi sono spiegato bene, a parte che so programmare in asp, caricamento gestione dati etc. sono farlo, mi manca sapere come gestire i dati memorizzati nel db con questo script (indicato su) in javascript e far riconoscere il dato memorizzato. grazie

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da djjunior Visualizza il messaggio
    ...mi manca sapere come gestire i dati memorizzati nel db con questo script (indicato su) in javascript e far riconoscere il dato memorizzato...
    Quote Originariamente inviata da djjunior Visualizza il messaggio
    Carissimi,
    Premetto che i dati delle regioni etc sono file javascript, quindi non utilizza nessun db.
    E' qui il problema sono due ambienti completamente diversi e il dialogo sarebbe complicato, passa ad un db per regioni, provincie, e comuni poi esegui chiamate ajax
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Dopo Vs. suggerimenti ho cambiato in altro script con DB.
    In pratica però sono bloccato sul fatto che ora questo script di default deve prendere i dati dal db e utilizza 3 pagine esterne(come si può notare dal javascript) dove carica la select di riferimento, ora per la regione, tutto ok, mentre per la provincia, comuni e cap non sono come fare, ecco lo script:
    codice:
    <script type="text/javascript" language="javascript">
    var estrai_province;
    var regione
       
    function cerca_province() 
    {
    
    regione=document.form.regione.options[document.form.regione.selectedIndex].value
        // branch for native XMLHttpRequest object
        if (window.XMLHttpRequest) {
            estrai_province= new XMLHttpRequest();
            estrai_province.onreadystatechange = ricevi_province;
            estrai_province.open("GET", "estrai-province.asp?regione="+regione, true);
            estrai_province.send(null);
        // branch for IE/Windows ActiveX version
        } else if (window.ActiveXObject) {
            estrai_province= new ActiveXObject("Microsoft.XMLHTTP");
            if (estrai_province) {
                estrai_province.onreadystatechange = ricevi_province;
                estrai_province.open("GET", "estrai-province.asp?regione="+regione, true);
                estrai_province.send();
            }
        }
    }   
      function ricevi_province() {   
        var province;       
          if (estrai_province.readyState == 4) {        
              province=estrai_province.responseText;
    
                document.getElementById('provincia').innerHTML = province;
                 }
        }
    
    var estrai_comuni;
    var provincia
       
    function cerca_comuni() 
    {
    
    provincia=document.form.provincia.options[document.form.provincia.selectedIndex].value
        // branch for native XMLHttpRequest object
        if (window.XMLHttpRequest) {
            estrai_comuni= new XMLHttpRequest();
            estrai_comuni.onreadystatechange = ricevi_comuni;
            estrai_comuni.open("GET", "estrai-comuni.asp?provincia="+provincia, true);
            estrai_comuni.send(null);
        // branch for IE/Windows ActiveX version
        } else if (window.ActiveXObject) {
            estrai_comuni= new ActiveXObject("Microsoft.XMLHTTP");
            if (estrai_comuni) {
                estrai_comuni.onreadystatechange = ricevi_comuni;
                estrai_comuni.open("GET", "estrai-comuni.asp?provincia="+provincia, true);
                estrai_comuni.send();
            }
        }
    }   
      function ricevi_comuni() {   
        var comuni;       
          if (estrai_comuni.readyState == 4) {        
              comuni=estrai_comuni.responseText;
    
                document.getElementById('comuni').innerHTML = comuni;
                 }
        }
        var estrai_cap;
    var comune
       
    function cerca_cap() 
    {
    
    comune=document.form.comune.options[document.form.comune.selectedIndex].value
        // branch for native XMLHttpRequest object
        if (window.XMLHttpRequest) {
            estrai_cap= new XMLHttpRequest();
            estrai_cap.onreadystatechange = ricevi_cap;
            estrai_cap.open("GET", "estrai-cap.asp?comune="+comune, true);
            estrai_cap.send(null);
        // branch for IE/Windows ActiveX version
        } else if (window.ActiveXObject) {
            estrai_cap= new ActiveXObject("Microsoft.XMLHTTP");
            if (estrai_cap) {
                estrai_cap.onreadystatechange = ricevi_cap;
                estrai_cap.open("GET", "estrai-cap.asp?comune="+comune, true);
                estrai_cap.send();
            }
        }
    }
         
      function ricevi_cap() {   
        var cap;       
          if (estrai_cap.readyState == 4) {        
              cap=estrai_cap.responseText;
                document.getElementById('cap').innerHTML = cap;
                 }
        }
    </script>
    Che poi richiamo così:
    codice:
    <% reg = rs.Fields("regione")%>
    <select name="regione" id="regione" onChange="cerca_province();">
    <option value="0">Seleziona Regione</option>
    <%
    Set MyConn=Server.CreateObject("ADODB.Connection")
    MyConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("DB/RPC.mdb")
            SQL = "Select * From regioni order by regione asc"
            Set RS = MyConn.Execute(SQL)
            While Not RS.EOF
            %>
    <option value="<%=rs("id_regione")%>" <%if reg = ""& rs("id_regione") &"" then%> selected="selected"<%end if%>><%=rs("regione")%></option>
            <%
            RS.MoveNext
            Wend
            RS.Close
            Set RS = Nothing
    MyConn.Close
    Set MyConn = Nothing
    %>
    </select>
        <td id="provincia" width="159">
            </td>
        <td id="comuni" width="159">
            </td>
    <td id="cap" width="159">
            </td>
    Come dicevo ora vorrei che le select si autoselezionerebbero con i dati
    prelevati dal mio db, per la regione ho risolto, mentre per gli altri
    non so come fare.

    Grazie per l'aiuto.

    G.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    nessun aiuto?

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.