42 messaggi dal 06 luglio 2005
Ciao a tutti, ho creato un form con all'interno un ciclo for che crea vari tag (select, radio), tra cui anche dei checkbox! Il problema è il seguente:

checkbox 1 (non spuntato)
checkbox 2 (non spuntato)
checkbox 3 (spuntato)
checkbox 4 (non spuntato)
checkbox 5 (spuntato)

quando i dati vengono ricevuti ed elaborati da:

for each item in request.Form
temp = Request.Form(Item)
temp2(i)=temp
next

il risultato è il seguente:

checkbox 1 (spuntato)
checkbox 2 (spuntato)
checkbox 3 (non spuntato)
checkbox 4 (non spuntato)
checkbox 5 (non spuntato)

questo è il codice:


<form method="post" target="_blank">
<%for i=0 to 10%>
<input type="checkbox" id="stile1<%=i%>" name="stile1<%=i%>" value="bold">

<%next%>

<br>
<input type="submit" value="invia">
</form>


credo che questo dipenda dal fatto che il checkbox 4 (per esempio) viene inserito nella prima posizione libera di temp2(i), che non è la 4 come vorrei che fosse! Questo perchè evidentemente i check non spuntati vengono ignorati e quindi non memorizzati nell'array e le posizioni vengono scalate. Avete idea di come risolvere il problema, per favore? Non so cos'altro inventarmi!!!!!!
308 messaggi dal 13 luglio 2005
Ciao,
io di solito ho usato un altro metodo, un po' più "controllato" ...
Innanzitutto metterei un underscore tra "stile1" e il numero progressivo, quindi:

<form method="post" target="_blank">
<%for i=0 to 10%>
<input type="checkbox" id="stile1_<%=i%>" name="stile1_<%=i%>" value="bold">

<%next%>

<br>
<input type="submit" value="invia">
</form>

e quando elabori i dati invece:

for i = 0 to 10
temp = Request.Form("stile1_" & CStr(i))
temp2(i)=temp
next

oppure, se devi effettuare qualche azione quando il checkbox risulta spuntato, puoi utilizzare il seguente codice (senza variabili temporanee):

for i = 0 to 10
if Request.Form("stile1_" & CStr(i)) <> "" then
' effettui l'azione
end if
next

Spero di esserti stato d'aiuto  .

Fammi sapere.

Ciao.

Umb

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.