PDA

Vedi la versione completa : Problema con checkbox



klinik
25-11-2003, 19.56.43
Salve, ho un problemino con un checkbox.
Ho una pagina con un form nella quale inserisco dei dati che poi mi si memorizzano su un data mysql.
Per i dati nessun problema ma avendo aggiornato lo script mi d? errore sul checkbox.

<input type="checkbox" name="metallizzato" value="on"> Metallizzato

nella pagina di upload dati ho dei dati obbligatori per cui se non metto il segno di spunto sul checkbox mi d? errore. (perch? non c'? dato)

Per pescare il dato:
RS("metallizzato") = UploadRequest.Item("metallizzato").Item("Value")

Se metto: RS("metallizzato") = UploadRequest("metallizzato")
invece mi f? il contrario, se non lo cecko funziona.

Come posso fare affinch? se il ceck ? messo mi dia on ed invece se non lo cecko mi dia off??
In modo da avere un dato in tutti e due i casi.

Grazie
By Gab :pckrash: :muro:

Ugly Mau
25-11-2003, 20.59.47
Quando faccio un Request di un Check metto cosi:

if Request("Metallizzato") <> "" Then Variabile = "on"
Else
Variabile = "off"
End if


ps: usi il metodo rs.AddNew, rs.UpDate con MySQL??

klinik
26-11-2003, 09.35.41
Ciao, ho messo cos?:

if UploadRequest("metallizzato") <> "on" Then
RS("metallizzato") = "off"
else
RS("metallizzato") = "on"
end if

che succede, se non ? checkkato funziona, mi mette off, ma se lo cekko mi d? questo errore:

Errore di run-time di Microsoft VBScript errore "800a01c2'
Numero errato di argomenti o assegnazione di propriet? non valida
uploaddati.asp, riga 193

Ho provato altre soluzioni ma l'errore c'? sempre..


S? uso rs.AddNew, rs.UpDate
non ? giusto??

By Gab :muro:

ancio
26-11-2003, 13.20.14
if UploadRequest("metallizzato") <> "on" Then
RS("metallizzato") = true
else
RS("metallizzato") = flase
end if


prova cosi

klinik
26-11-2003, 16.17.15
Niente da fare sempre lo stesso errore.

..mannaggia...... :muro:

By Gab

Ugly Mau
26-11-2003, 19.30.09
Prova a fare senza mettere il rs dentro il "if".

if UploadRequest("metallizzato") <> "on" Then
VariabieON = "on"
else
VariabileON = "off"
end if

solo poi:

RS("metallizzato") = VariabileON


Dicevo del rs.AddNew perch? ho avuto molto problemi con MySQL usando questo metodo. Tanto che nella guida che ho scritto ho messo questo (http://www.webmasterpoint.org/mysql/07.asp?id=2314&voto=3&cat=programmazione&dat=7:27:20%20PM) capitolo, poi non so con altre macchine se il problema ? uguale.

klinik
26-11-2003, 23.32.10
Ciao.. a notte inoltrata... son ancora qua che provo... :stanco:

Ho cambiato il sistema d'immissione dati con INSERT INTO,

per cui:

nome=UploadRequest.Item("nome").Item("Value")
anno = UploadRequest.Item("anno").Item("Value")
mese = UploadRequest.Item("mese").Item("Value")
metallizzato = UploadRequest.Item("metallizzato").Item("Value")

SQL="INSERT INTO annunci (nome, anno, mese, metallizzato) VALUES('"&nome&"','"&anno&"','"&mese&"','"&metallizzato&"')"
Conn.Execute(SQL)

Conn.Close
set conn = nothing

allora.... i dati funzionano, si immettono...
e qeal cavolo di check ancora mi d? errore. :confused:

Allora ho messo:

if UploadRequest("metallizzato") = "on" Then
variabileON = "on"
else
variabileON = "off"
end if

metallizzato = variabileON

ma non cambia niente..... sempre qual dannato errore!!

Porca zozza adezzo vado a nanna.... :stanco:

Grazie
By Gab :ronf: :ronf:

Pandasp
26-11-2003, 23.40.46
Prova cos?

nome=UploadRequest.Item("nome").Item("Value")
anno = UploadRequest.Item("anno").Item("Value")
mese = UploadRequest.Item("mese").Item("Value")
metallizzato = UploadRequest.Item("metallizzato").Item("Value")
if metallizzato <> "on" Then
metallizzato = "off"
end if

SQL="INSERT INTO annunci (nome, anno, mese, metallizzato) VALUES('"&nome&"','"&anno&"','"&mese&"','"&metallizzato&"')"
Conn.Execute(SQL)

klinik
27-11-2003, 08.48.53
Ciao ho provato anche a mettere

if metallizzato <> "on" Then
metallizzato = "off"
end if

ma mi d? sempre errore.

Errore di run-time di Microsoft VBScript errore "800a01a8'

Necessario oggetto: '[undefined]'

uploaddati.asp, riga 216

nienta da fare... :muro:

Se ? cekkato funziona, se non ? cekkato d? errore perch? manca il parametro.

By Gab

Ugly Mau
27-11-2003, 19.13.29
Che c'? in riga 216?

klinik
28-11-2003, 08.20.33
...la riga 216...
? sempre il famigerato

metallizzato = UploadRequest.Item("metallizzato").Item("Value")

By Gab :stanco:

Ugly Mau
28-11-2003, 21.21.52
Prova:

metallizzato = Request("metallizzato")

oaiC

klinik
29-11-2003, 08.33.21
Ciao, ho provato a mettere

metallizzato = Request("metallizzato")

e mi d? errore in un altra pagina:


Errore di run-time di Microsoft VBScript errore "800a0005'
Chiamata di routine o argomento non validi: 'MidB'
getnew.asp, riga 401


Sub BuildUploadRequest(RequestBin)
PosBeg = 1
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))

:shocked: riga 401: boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)

boundaryPos = InstrB(1,RequestBin,boundary)
Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))

Dim UploadControl
Set UploadControl = CreateObject("Scripting.Dictionary")

Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition"))
Pos = InstrB(Pos,RequestBin,getByteString("name="))
PosBeg = Pos+6
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename="))
PosBound = InstrB(PosEnd,RequestBin,boundary)
ecc..

Sar? perch? il trasferimento ? fatto in binario .. credo..

By Gab :pckrash: :muro:

dino
06-06-2005, 13.10.14
Anch'io sono incappato nello stesso errore.
Tutti i suggerimenti che sono stati dati riguardano un modo diverso di scrivere sul DB.
Il problema ? a monte, per?:
Non si riesce a far funzionare il CheckBox con UploadRequest
Se qualche anima buona si fa via mi fa un favore.
Grazie

dino
06-06-2005, 14.25.41
Se a qualcuno interessa ancora, ho trovato la soluzione.
Nel form Html definire cos? il checkbox:

<input type="checkbox" name="chkcancella" value="1">
dove chiaramente il name pu? essere dato a piacere.

Nella pagina ASP scrivere il seguente pezzo di codice:

Dim cancella
If (IsObject(UploadRequest.Item("chkcancella"))) Then

cancella=CBool(UploadRequest.Item("chkcancella").Item("Value"))
else

cancella=false
end if

:)