12 messaggi dal 03 settembre 2001
Vi pongo una questiona banalissima ma data la mia scarsa esperienza mi sta mettendo in difficoltà.
Nella mia pagina ASp compilo una Combo prendendo i valori da un campo di un DB facendo una Select Distinct.
Facendo il submit devo fare una query di tutti i record che hanno il valore selezionato nella combo in un campo specifico.
Il mio poroblema è che questi valori sono "WINDOWS 2000", WINDOWS XP", "WINDOWS 95" ecc...
Però il valore del request.form è sempre "WINDOWS", cioè non mi passa tutto ciò che c'è dopo lo spazio.
Come posso ovviare alla cosa?

Spero di essermi spegato in modo comprensibile.
Grazie mille
Strano. Prova a postare il codice con cui leggi il valore della request, quello con cui produci l'html e l'html generato che vediamo di capirci qualcosa insieme.

Matteo Casati
GURU4.net
12 messaggi dal 03 settembre 2001
FORM NAME="salta" Action="swdetail.asp" Method="POST" >
<SELECT NAME="SWR" >
<%


SWR.Open "SELECT * from SW WHERE Software LIKE '%"& request.form("SW")&"%' ORDER BY Software ASC" , Conn, 1
While Not( SWR.EOF )
Response.write "<option value="& SWR("Software").value & ">" & SWR("Software").value & "</option>"
SWR.movenext

Wend
SWR.Close

%>
<INPUT TYPE="SUBMIT" VALUE="AVANTI">
</FORM>

Nella pagina sucessiva il valore di SWD vale tutto ciò che sta prima dello spazio
118 messaggi dal 13 gennaio 2004
il problema e relativo allo spazio..! le soluzione sono tante, la prima che mi viene in mente e creare un evento onchange sulla select tale che mi scriva il valore selezionato in un campo hidden.. in pratica



<FORM NAME="salta" Action="swdetail.asp" Method="POST" >
<input type="hidden" name="valoreSelect" >
<SELECT NAME="SWR" onChange="document.salta.valoreSelect.value="+this.value >
<%
SWR.Open "SELECT * from SW WHERE Software LIKE '%"& request.form("SW")&"%' ORDER BY Software ASC" , Conn, 1
While Not( SWR.EOF )
Response.write "<option value="& SWR("Software").value & ">" & SWR("Software").value & "</option>"
SWR.movenext

Wend
SWR.Close

%>
<INPUT TYPE="SUBMIT" VALUE="AVANTI">
</FORM>


in questo modo nel post della form troverai il valore selezionato in request("valoreSelect")

Punto Interrogativo
12 messaggi dal 03 settembre 2001
Purtroppo continua a comportarsi come prima:

POST Data:
valoreSelect=&SWR=Adobe

Il selezionato era Adobe Acrobat Reader 6
Il problema è che non metti il value della select tra virgolette!
In pratica il tuo HTML risulta una cosa del tipo:

<option value=Adobe Photo Shop>Adobe Photo Shop</option>


Deve diventare:

<option value="Adobe Photo Shop">Adobe Photo Shop</option>


Quindi:

Response.write "<option value="""& SWR("Software").value & """>" & SWR("Software").value & "</option>" 



In più dovresti anche fare un Server.HTMLEncode del valore prima di stamparlo (così da fare un escape dei caratteri che potrebbero dar fastidio, come i doppi apici)

Ciao

Matteo Casati
GURU4.net
12 messaggi dal 03 settembre 2001
Grazie infinite, funziona.
E già che ci siamo buon fine settimana a tutti!

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.