Popolare combo in base ad un'altra combo

  • Creatore Discussione Creatore Discussione basy82
  • Data di inizio Data di inizio

basy82

Utente Attivo
31 Dic 2005
210
0
0
siracusa
Non sapevo dove postare...perchè il mio dubbio riguarda asp e javascript..

Praticamente ho una combo box..che mi visualizza dei valori..
Faccio l'esempio pratico..

<select size="1" name="Settore" style="font-family: Verdana; font-size: 10px">
<option>Scegli</option>
<option>Climatizzazione</option>
<option>TermoTecnica</option>
<option>ArredoBagno</option>
<option>Ferramenta</option>
</select></td>


Ora all'evento change di questa combobox..vorrei fare una Select(una query) nel db...in modo ke su un' altra combo mi carichi le sottocategorie associate..
Quindi la seconda combo dovrebbe popolarsi in base alla scelta ke l'utente fa nella prima combo..naturalmente deve pescare il tutto dal db. Sigh con visual basic riesco...ma sul web non è così semplice..:crying:

Qualcuno mi da una mano?? Spero di essermi spiegata..

Non so come fare...a richiamare codice asp all'evento change della combo..Non so neanche se è possibile farlo..

Premetto ke conosco abbastanza Asp (.. il codice ke mi fa la select riesco a farlo)..ma con javascript sono ZERO ASSOLUTO!!!

Ps. sono convinta ke serva javascript..perchè con asp ..l'evento change logicamente.. non esiste.
 
Ciao Valentina :)

Ciò che vuoi fare non si può, perchè ad ogni onChange della select devi per forza ricaricare la pagina coi nuovi parametri da assegnare alla query.

L'unico linguaggio che risolverebbe il tuo problema è Ajax, che invece di ricaricare l'intera pagina è in grado di ricaricarne solo una parte (quella della combo per esempio), ma ho appena iniziato a studiarlo (tra l'altro a tempo perso per ora), e quindi non ti saprei aiutare, mi spiace :p

:byebye:
 
Ciauu Pole :)

Ajax? ma non è una squadra di calcio..?Adesso si sono dati al web?:quote:

Torniamo seri..:D
Sinceramente oggi non ci ho lavorato su questo problema..cmq forse mi è venuta un' idea...tutta da provare..

Speriamo ke vada..vi faccio sapere..

Ps. a parte gli scherzi(scusa l'ignoranza:p )..ma ajax sarebbe un linguaggio tipo javascript..quindi lato client?
 
ciao vale, mi ritrovo su questo problema anche io, e l'unica idea (un pò perversa) è:

iframe piccolissimo che non si vede, all'ochange mandare la richiesta lì, fare la query, immagazzinarla in un array javascript, ripassarla alla pagina principale e scrivere con document.write la select.

Però mi sa che è da folli.

mmmmm, oppure affianchi 2 iframe e mandi la richiesta all'altro iframe così si ricarica solo lui.


io, medito....:dormo:
 
Ciauu Davide..Perdonami..ma la mia ignoranza è spaventosa..

Ho capito la logica della tua idea ma la domanda banale è iframe..e frame..non è la stessa cosa giusto?

Poi mettiamo il caso che su un diverso iframe riusciamo a caricare i dati ke ci interessano con la select..

Poi per salvare la scelta della seconda combo insieme agli altri dati come se fa?..io ho tutto all'interno di un modulo e quando lo invio con metodo post mi salva tutti i campi nel db..

mmm medito ank'io...vediamo un pò..(diciamo ke nn è urgentissimo..però)
 
ciao a tutti,

diciamo che avevo lo stesso prob anche io, e lo risolto in questo modo:

ho creato una pagina 1.asp
in questa pagina ho creato una form, che al interno ci sta una combo box con dei valori popolati dal db, dopo di che al form action="1.asp?step=2"

nello step 2 ho creato una select case, in modo che in base alla selezione del Request.Form("combo box") mi va alla pagina 2.asp con il valore scelto passata come Request.QueryString, e cosi in base al valore scelto nella combo box mi carrica le informazioni riguardanti quell'valore.

più o meno in questo modo ho fatto e funziona... non lo so se vi può essere di aiuto.

bye.
 
Ragazzi ho trovato un articolo qui..(Recupero di dati da un database)
http://javascript.html.it/articoli/leggi/452/javascript-e-http/5/

Ma..o non riesco io.. o nn funziona..:confused:

Per provare ho incollato in una pagina vuota il codice..

Codice:
<html>
<head>
<title>Documento senza titolo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
function display(city) {
objHTTP.open("GET", "infocity.asp?c=" + city,true);
objHTTP.onreadystatechange= function() {elaboraRisposta()};
objHTTP.send(null);
}
function elaboraRisposta() {
if (objHTTP.readyState==4) {
document.getElementById("descrizione").innerHTML = objHTTP.responseText
}
} 
</script>
</head>

<body>
<form  method="post" name="Form1">
<select id="city" onChange="display(this.value)">
<option value="Firenze">Firenze</option>
<option value="Milano">Milano</option>
<option value="Roma">Roma</option>
</select>
<input name="descrizione" type="text">
</form>
</body>
</html>

La pagina infocity.asp nn esiste..quindi dovrebbe restituirmi un errore...ma niente nn succede niente.
Che voi sappiate è fattibile in questo modo?

Ps. Luca nn ho trovato l'articolo che dici tu.
 
Luca sei un grande!!!! Grazie Grazie GRazieee per l'ultimo articolo pubblicato..
https://www.mrw.it/tutorial/ajax/tutorial630.htm
L'ho provato ed è perfetto...
Domani lo adatto a quello ke devo fare io..
Basta modificare il file ajax.asp ..visto mi deve stampare i risultati della query sulla combo..ma non è un problema..

W Ajax!!!!!!!!!:tifoso:

:byebye:
 
Ragazzi in locale funziona tutto perfettamente..ma pubblicato su server aruba nn funziona più...:crying:

Credo sia colpa di questa riga...
OggettoXMLHTTP = new ActiveXObject(Classe);

Ufffff!!!!!!:incazz:
 
basy82 ha scritto:
Ragazzi in locale funziona tutto perfettamente..ma pubblicato su server aruba nn funziona più...:crying:

Credo sia colpa di questa riga...
OggettoXMLHTTP = new ActiveXObject(Classe);

Ufffff!!!!!!:incazz:
Ciao valentina ;)

Credo dipenda dal fatto che sul Server non sia presente l'ActiveX che permette l'utilizzo dell'oggetto in questione :)

Prova a contattare l'assistenza, loro sicuramente ti sapranno dire di più!

P.S.= Aruba usi?!?!?... mmmm, temeraria... :D :D :D

:byebye:
 
ciao ragazzi!
Scusate se mi intrometto...!
Bellissimo ajax! Inizio a studiarlo anch'io!
Ma allora mi è sorta una curiosità...questa combo che dipende da un'altra combo

http://www.etrusko.com/Surgicalory/prodotti.html

l'ho fatto con un array in javascript, dunque se io volessi ottenere lo stesso identico risultato ma che memorizzi la categoria che ho appena scelto Es. Veterinaria, quando ritorno nella pagina prodotti, mi conviene rifarlo con AJAX o semplicemente con un array in asp?
eheh scusate ma a leggere questo post mi è venuta in mente questa possibilità!;)
 
Sono arrivato alla soluzione pure io con Ajax....appena in tempo per un lavoro che lo richiedeva!

Elisa, come lo hai fatto tu è ok, ma se provi ad allargare la mente verso la programmazione ti renderai subito di 2 cose:

1: se la quantità di dati è enorme, caricherai il client di lavoro.

2: se sei su un'applicazione soggetta a continue variazioni, dato che la richiesta al database la fai solo una volta, ti potrebbero mancare alcune cose!!


Meglio passare ad ajax!
 

Discussioni simili