1 messaggio dal 18 gennaio 2003
Salve sono nuovo nel forum e colgo l'occasione per salutare tutti.

Situazione: ho una scheda con una serie di combobox, ad esempio il campo Marca facendo clic sulla solita freccina vengono fuori una trentina di marche automobilistiche, l'utente fa clic su quella che desidera selezionare e via così per modello, cambio, ecc.
Il tutto memorizzato in un database.

Dopo che l'utente ha registrato la propria auto, potrebbe, in seguito, voler modificare un dato, supponiamo la marca. Selezionato il record da modificare devo mostrare la scheda così come l'utente l'aveva compilata, quindi la combobox marca deve mostrare proprio quella che aveva scelto.

Problema: è proprio quello di selezionare in dinamico il valore della combobox selezionato dall'utente.

So prelevare il dato dal db, ma come fare in modo elegante e veloce per passare il dato alla combobox?. In pratica dovrei aggiungere in select vicino alla marca elencata nel codice html combobox, ma come?
Mi sono venute delle idee, ma troppo lunghe e complesse.

Nota: la combobox non è creata in dinamico ma in html.

Cavolo in Visual Basic risolvevo in due righe, ma con asp...

Se qualcuno ha affrontato e risolto questo problema mi farebbe la cortesia di illuminarmi sul da farsi?

So che il problema è forse difficile, ma confido nella comunità.
30 messaggi dal 05 ottobre 2001
il problema è tutt'altro che difficile ed ha due soluzioni;

1. ASP
se la pagina html che visualizza le combobox la puoi rinominare in asp, a questo punto aggiungi in testa un
<%
Response.Expires=0
<leggi i dati tramite connection/recordset>
<codice html rimanente>

codice html che crea la combobox:
<select ecc.....>
<% if marcascelta=1 Then sel=" selected " Else sel="" >
<option value=1 <%=sel%> >Ferrari</option>
<% if marcascelta=2 Then sel=" selected " Else sel="" >
<option value=2 <%=sel%> >Mercedes</option>
</select>

<rimanente codice html>

questo risulta molto lungo, perciò sarebbe più semplice creare dinamicamente anche la combobox, perlomeno da un array se non da un database

2. Javascript + ASP
una volta caricata la pagina html puoi impostarne il valore tramite javascript; puoi ad esempio aggiungere alla fine del codice attuale il controllo desiderato oppure in teoria anche in un altro frame del frameset; risulterà piú o meno cosi

<% Response.Expires=0 %>
<codice html che già esiste>

< apri database e cerca i valori desiderati >
imposta il valore attuale:
<script language=javascript>
document.formInput.marca.value=<%=marcascelta%>;
document.formInput.modello.value=<%=modelloscelto%>;
[ sintassi = document.nomedeltuoform.nomevariabile.value='valoreprovenientedaDB']
</script>




Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.