13 messaggi dal 21 settembre 2004
Ciao, come faccio a passare più valori (per singolo "value" di casella)ad una pagina tramite checkbox, premetto che la virgola non la posso usare perchèdevo passare anche un campo che indica il costo del prodotto e che ha virgole in mezzo.Per intenderci sto facendo una tabella che visualizza i prodotti e poi per metterli nel carrello utilizzo una checkbox, per spedirli alla pag successiva clicco un pulsante invio da me definito.
Ciao
Beh, ipotizzando che nel checkbox non ci va il costo del prodotto ma un' altra cosa, ad esempio l' ID, puoi benissimo mettere lo stesso nome ai checkbox.

"This message was written using 100% recycled electrons"
13 messaggi dal 21 settembre 2004
Forse mi son spiegato male.
Io faccio una tabelladentro una form con vari campi tra cui il nome e il prezzo dell'articolo, io voglio che quando invio la form tramite il classico submit, attraverso la checkbox mi vengano dati nella pagina successiva, il carrello,tutti i dati degli articoli segnalati.
Questo è per non fare una nuova query al database che mi verrebbe facile da fare avendo anche solo il nome dell'articolo
Ciao e grazie
60 messaggi dal 10 ottobre 2003
www.duegiweb.it
Come anticipato da ras78 se usi lo stesso name ti viene restituito una lista dei valori delle checkbox selezionate separati dalla virgola che puoi tranquillamente recuperare tramite la funzione split().

Naturalmente per il prezzo ti conviene fare un replace() della virgola magari con un punto. Altrimenti la funzione split sarebbe inutilizzabile.

Una soluzione potrebbe essere quella di comporre una lista di valori e inserirli all'interno del value delle checkbox
separandoli con un carattere speciale es. "§"

value="<%= Nome & "§" & Prezzo & "§" & Ecc... %>"

A questo punto a seconda del numero delle checkbox selezionate ottieni:

(Nomeprodotto1§Prezzo1,Nomeprodotto2§Prezzo2,Ecc....)

Per ricavare i dati fai un doppio split()
Il primo M=split(valore,",") restituisce
M(0) = Nomeprodotto1§Prezzo1
M(1) = Nomeprodotto2§Prezzo2
M(2) = Ecc....
A questo punto esegui un secondo split(M(i),"§") all'interno di un iter (for i)
for i = 0 to ubound(M)
V = split(M(i),"§")
'OTTIENI TUTTI I VALORI CHE TI INTERESSANO
V(0) = Nomeprodottoi
V(1) = Prezzoi
next

Spero ti sia utile
ciao
Fausto

Fausto
13 messaggi dal 21 settembre 2004
Ti scrivo il mio codice che mi generaun problema come lo avevo fatto. Questo sotto è nella pagina della tabella dei prodotti:

<td><div align="center"><span class="TitFineBlue">
<input name="txt<%=rs("codart")%>" type="text" value="1" size="6" maxlength="4" >
</span></div></td>
<TD width=50 bgcolor="#015187"><div align="center">
<img src="Home%20Page_file/carrello.gif" width="27" height="23" align="botton"><INPUT type=checkbox name="controllo" value="<%=rs("codart")%>">
</div></TD>

è al value della check che do il campo codart e non al nome

poi nella pagina del carrello li recupero così(è una pagina test):

<p>Questa pagina ha</p>
<p> <b>
<%
dim strValori
dim ctInd
'mi serve a ciclare la check e prelevare value
strValori=split(request.form("controllo"),",")
for ctInd = 0 to ubound(strValori)
response.write strValori(ctInd)&"<br>"
response.write request.form("txt"&strValori(ctInd))

%>ciao</b></p>
<p><b>
<%
next
%>

</b> </p>
<p>arrivederci</p>

questo codice mi stampa :
Questa pagina ha:

CODART
QUANTITA
ciao

CODART

ciao

arrivederci



cioè tranne per la prima quantita che me la esprime, le altre mi da campo nullo
Come posso risolvere su questo codice, penso che sia una cazzata ma sono bloccato da ieri e il sito non va avanti
Grazie comunque e spero a presto
Fra il ciclo FOR inserisci una riga che controlla l'elemento dell' array passato e se non è vuoto lo visualizzi. In pratica:

for ctInd = 0 to ubound(strValori) 
 if trim(strValori(ctInd))&"x"<>"x" then
 response.write strValori(ctInd)&"<br>" 
 response.write request.form("txt"&strValori(ctInd)) 
%>ciao</b></p> 
<p><b> 
<% 
end if
next 
%> 

"This message was written using 100% recycled electrons"
13 messaggi dal 21 settembre 2004
Scusami ancora ma il problema non è che non voglio visualizzare la stringa vuota ma è che non capisco perchè la stringa è vuota dopo che la ho riempita con la quantita e avendo assegnato ad ogni casella testo un nome e richiamandolo opportunamente, non voglio credere che la form mi passa solo un unico valore per tutte le caselle di testo che compaiono e se è così come posso fare, leggi il mio messaggio di sopra anche
Sto strambando, aiuto

Grazie comunque per le risposte che mi avete dato
60 messaggi dal 10 ottobre 2003
www.duegiweb.it
Il codice che hai scritto per recuperare i dati mi sembra corretto.!

se non hai ancora risolto il tuo problema prova a postare il codice che usi per popolare i tuoi controlli compreso tag <form> , iter vari, rs.movenext ecc.... oppure l'html della pagina popolata.

Ciao

Fausto

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.