Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560

    problema con selezione select value

    il seguente codice js mi restituisce l'ID delle province, io vorrei che mi restituisse "pro_nome" ,cioè province=Chieti e non province=1
    cosa devo cambiare nel codice js?

    italia.js:

    codice:
    var XMLHTTP;
    
    function Province(ID)
    {
        if (parseInt(ID) > 0)
        {
            var url = "province.asp?id=" + ID;
            XMLHTTP = RicavaBrowser(CambioStatoProv);
            XMLHTTP.open("GET", url, true);
            XMLHTTP.send(null);
        }
        else
        {
            document.getElementById("ris_province").innerHTML = "";
        } 
    }
    
    function Comuni(ID)
    {
    alert(ID);
    
        if (parseInt(ID) > 0)
        {
            var url = "comuni.asp?id=" + ID;
            XMLHTTP = RicavaBrowser(CambioStatoCom);
            XMLHTTP.open("GET", url, true);
            XMLHTTP.send(null);
        }
        else
        {
            document.getElementById("ris_comuni").innerHTML = "";
        } 
    }
    
    
    function CambioStatoProv()
    {
        if (XMLHTTP.readyState == 4)
        {
            var R = document.getElementById("ris_province");
            R.innerHTML = XMLHTTP.responseText;
        }
    }
    
    function CambioStatoCom()
    {
        if (XMLHTTP.readyState == 4)
        {
            var R = document.getElementById("ris_comuni");
            R.innerHTML = XMLHTTP.responseText;
        }
    }
    
    function RicavaBrowser(QualeBrowser)
    {
        if (navigator.userAgent.indexOf("MSIE") != (-1))
        {
            var Classe = "Msxml2.XMLHTTP";
            if (navigator.appVersion.indexOf("MSIE 5.5") != (-1));
            {
                Classe = "Microsoft.XMLHTTP";
            } 
            try
            {
                OggettoXMLHTTP = new ActiveXObject(Classe);
                OggettoXMLHTTP.onreadystatechange = QualeBrowser;
                return OggettoXMLHTTP;
            }
            catch(e)
            {
                alert("Errore: l'ActiveX non verrà eseguito!");
            }
        }
        else if (navigator.userAgent.indexOf("Mozilla") != (-1))
        {
            OggettoXMLHTTP = new XMLHttpRequest();
            OggettoXMLHTTP.onload = QualeBrowser;
            OggettoXMLHTTP.onerror = QualeBrowser;
            return OggettoXMLHTTP;
        }
        else
        {
            alert("L'esempio non funziona con altri browser!");
        }
    }
    form.asp:
    codice:
    <form name="italia" method="get" action="../cerca/">
                                      <td><table width="206" border="0" cellspacing="0" cellpadding="0">
                                          <tr>
                                            <td width="130"><select name="modello" id="immobile" size="1" tabindex="10" style="width:117px">
    <option value="" selected>TUTTE LE TIPOLOGIE</option>
    <option value="appartamento">Appartamento</option>
    <option value="villetta">Villetta</option>
    </select>
    
    <select name="regioni" onchange="Province(this.value)">
    <option value=""></option>
    <%
        Dim SQL
        SQL = "SELECT * FROM regioni ORDER BY reg_nome ASC"
        rs.Open SQL, cn, 1
        While rs.EOF = False
    %>
    <option value="<%=rs("reg_id")%>"><%=rs("reg_nome")%></option>
    <%
            rs.MoveNext
        Wend
        rs.Close
    %>
    </select>
    
    <div id="ris_province">
    <select name="province" onchange="Comuni(this.value)">
    <option value=""></option>
    <%
        Dim SQL1
        SQL1 = "SELECT * FROM province ORDER BY pro_nome ASC"
        rs.Open SQL1, cn, 1
        While rs.EOF = False
    %>
    <option value="<%=rs("pro_id")%>"><%=rs("pro_nome")%></option>
    <%
            rs.MoveNext
        Wend
        rs.Close
    %>
    </select>
    </div>     
    
    <select name="carburante" id="carburante" size="1" tabindex="10" style="width:117px">
    <option value="" selected>CONTRATTO</option>
    <option value="affitto">Affitto</option>
    <option value="vendita">Vendita</option>
    </select>
    </td>
                                            <td width="76" valign="bottom"><input name="Go" value="Cerca" type="submit"></td>
                                          </tr>
                                      </table></td>
                                    </form>

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    codice quasi inseguibile, posta sempre e solo un xhtml-tipo risultante dalle operazioni lato server

    cambia questo
    onchange="Province(this.value)"
    in
    onchange="Province(this.options[this.selectedIndex].text)"

    ciao

  3. #3
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    Grazie, non funziona.. selezionando la prima select mi scompare la seconda...cioè non mi elenca le province

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    beh, segui la logica di quanto viene eseguito
    nella maniera in cui ti ho suggerito semplicemente passa alla funzione il testo dell' option selezionata invece del value

  5. #5
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    con il codice del form.asp così com'è funziona... solo che quando seleziono la provincia e premo invio mi da come ricerca: /?regioni=1&Go=Cerca
    non capisco perchè mi da il valore finale della regione: value="<%=rs("reg_id")%>">
    e non da quello delle province: value="<%=rs("pro_nome")%>">


  6. #6
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    mi da risultato regione=1 perchè nella pagina provice.asp:

    codice:
    <%@LANGUAGE = VBScript%>
    
    <%
        Dim id
        id = Request.QueryString("id")
        
        Call CnOpen()
        Dim SQL
        SQL = "SELECT * FROM province "
        SQL = SQL & "WHERE pro_regione = " & id & " "
        SQL = SQL & "ORDER BY pro_nome ASC"
        rs.Open SQL, cn, 1
        If rs.EOF Then
            Response.Write "Selezionare una regione valida!"
        Else
    %>
    <select name="province">
    <option value="0"></option>
    <%
            While rs.EOF = False
    %>
    <option value="<%=rs("pro_nome")%>"><%=rs("pro_nome")%></option>
    <%
                rs.MoveNext
            Wend
    %>
    </select>
    <%
        End If
        rs.Close
        Call CnClose()
    %>
    la query è SQL = SQL & "WHERE pro_regione = " & id & " "
    e mi da come risultato l'ID relazionato alla provincia

    se lo cambio con "pro_nome" giustamente va in errore:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

    ODBC driver does not support the requested properties.

    /province.asp, line 12

    come posso risolvere?

  7. #7
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    ciao, mi sono accorto che con IE funziona...... mentre con firefox 2.0 non funziona, cioè non mi da province=Chieti

    con IE: /?modello=&regioni=1&province=Chieti&carburante=&Go =Cerca

    con firefox: /?modello=&regioni=1&carburante=&Go=Cerca

    si può risolvere?

    grazie

  8. #8
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    ciao Xinod, si può risolvere il problema di firefox?
    grazie

  9. #9
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    up

  10. #10
    Utente di HTML.it L'avatar di Lino80
    Registrato dal
    Oct 2005
    Messaggi
    1,560
    uup

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.