Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Select e textarea

  1. #1
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258

    Select e textarea

    Ho la necessità di recuperare dei valori dal database in 2 campi di testo quando seleziono un valore da una select (valore che viene sempre pescato dal database).

    in pratica nella select pesco il valore "nome" per es. del terzo record e i due campi di testo nello stesso form devono restituirmi il valore "indirizzo" e "partita iva" dello stesso record.

    il valore della prima select lo pesco così
    codice:
            <%
    'Scrivo la query sql
    sql = "SELECT * FROM Rubrica order by ID DESC"
    
    'creo il recordset
    Set Rec = Server.CreateObject ("ADODB.Recordset")
    Rec.Open sql, Conn, 3, 3
    do while not Rec.eof 
    valore=Rec("nome") 
    nome=Rec("nome") 
    response.write("<option value=" & nome &">" & valore &"</option>") 
    Rec.movenext 
    loop %>
            <option value="ND" selected>SELEZIONA...</option>
          </select>
    ..ma purtroppo non riesco a passare i valori alle 2 textarea

    Qualcuno può darmi una mano?

  2. #2
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Non ho ben capito, ma forse ti serve javascript.
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  3. #3
    Utente di HTML.it L'avatar di iceblu
    Registrato dal
    Jun 2006
    Messaggi
    246
    devi passare ad una pagina in ASP e fare una query con il valore passato dal campo select

  4. #4
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258
    ci avevo pensato ma vorrei evitare di passare da una pagina all'altra;

    forse con l'utilizzo di JAVASCRIPT o AJAX potrei fare qualcosa, ma in rete ci sono solo esempi per le select e neanche tanto chiari: la maggior parte riportano codice errato

  5. #5
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  6. #6
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258
    Originariamente inviato da iceblu
    devi passare ad una pagina in ASP e fare una query con il valore passato dal campo select
    pensandoci bene però ptrei fare tutto in puro asp richiamando la stessa pagina con

    codice:
    If Request.Form("seEsisteUnSubmit") = "true" Then
    ma prima vorrei studiarmi l'esempio ajax che ha postato trodat, sembra molto interessante

  7. #7
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258
    Originariamente inviato da [trodat]
    http://www.w3schools.com/ajax/ajax_database.asp
    ottimo...ho cambiato un po il codice per le mie esigenze e ho risolto, anche se in parte...

    ho 2 domande:

    1) quando utilizzo un nome nella select composta da spazi non funziona (se inserisco nella select marco antonelli mi trova i dati di marco e non di marco antonelli)

    2) come faccio a mettere i dati in un campo di testo?

    il link per provare lo script è QUESTO

    mentre il codice delle 3 pagine è:

    PAGINA a.asp
    codice:
    <html>
    <head>
    <script src="selectcustomer.js"></script>
    </head>
    
    <body>
    
    <form> 
    Select a Customer:
    <select name="customers" onchange="showCustomer(this.value)">
    <%
    Dim Conn
    Set Conn=Server.CreateObject("ADODB.Connection")
    Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& server.MapPath("ajax.mdb")
    'Scrivo la mia query sql
    sql = "SELECT * FROM Rubrica"
    
    'E creo il recordset
    Set Rec = Server.CreateObject ("ADODB.Recordset")
    Rec.Open sql, Conn, 3, 3
    do while not Rec.eof 
    valore=Rec("nome") 
    nome=Rec("nome") 
    response.write("<option value=" & nome &">" & valore &"</option>") 
    Rec.movenext 
    loop %>
            <option value="ND" selected>SELEZIONA...</option>
          </select>
    </form>
    
    
    
    <div id="txtHint">Customer info will be listed here.</div>
    </p>
    </body>
    </html>

    PAGINA getcustomer.asp
    codice:
    <%
    response.expires=-1
    sql="SELECT * FROM rubrica WHERE nome="
    sql=sql & "'" & request.querystring("q") & "'"
    
    set conn=Server.CreateObject("ADODB.Connection")
    conn.Provider="Microsoft.Jet.OLEDB.4.0"
    conn.Open(Server.Mappath("ajax.mdb"))
    set rs = Server.CreateObject("ADODB.recordset")
    rs.Open sql, conn
    
    response.write("<table>")
    do until rs.EOF
      for each x in rs.Fields
        response.write("<tr><td>" & x.name & "</td>")
        response.write("<td>" & x.value & "</td></tr>")
      next
      rs.MoveNext
    loop
    response.write("</table>")
    %>

    PAGINA selectcustomer.js
    codice:
    var xmlHttp
    
    function showCustomer(str)
    { 
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {
      alert ("Your browser does not support AJAX!");
      return;
      } 
    var url="getcustomer.asp";
    url=url+"?q="+str;
    url=url+"&sid="+Math.random();
    xmlHttp.onreadystatechange=stateChanged;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
    }
    
    function stateChanged() 
    { 
    if (xmlHttp.readyState==4)
    { 
    document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
    }
    }
    
    function GetXmlHttpObject()
    {
    var xmlHttp=null;
    try
      {
      // Firefox, Opera 8.0+, Safari
      xmlHttp=new XMLHttpRequest();
      }
    catch (e)
      {
      // Internet Explorer
      try
        {
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
      catch (e)
        {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
      }
    return xmlHttp;
    }

  8. #8
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    1) quando utilizzo un nome nella select composta da spazi non funziona (se inserisco nella select marco antonelli mi trova i dati di marco e non di marco antonelli)

    codice:
    response.write("<option value="" & nome & "">"" & valore & ""</option>")

    2) come faccio a mettere i dati in un campo di testo?

    codice:
    <input type="text" name="T1" size="20" value="<%=valorepassatoinquerystring%>">
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  9. #9
    Utente di HTML.it L'avatar di iceblu
    Registrato dal
    Jun 2006
    Messaggi
    246
    1) Prova a usare
    Codice PHP:
    response.write("<option value="" & nome & "">"" & Server.URLEncode(valore) & ""</option>"
    oppure

    Codice PHP:
    response.write("<option value="" & nome & "">"" & Server.HTMLEncode(valore) & ""</option>"

  10. #10
    Utente di HTML.it L'avatar di Luca1317
    Registrato dal
    Dec 2001
    Messaggi
    1,258
    perfetto, sono riuscito a mettere i valori nei campi di testo.


    per l'errore dello spazio, anche seguendo i vostri consigli, non sono riuscito a risolvere :master:

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 © 2026 vBulletin Solutions, Inc. All rights reserved.