Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Belo Horizonte, Brazil
    Messaggi
    258

    Valori true o false se checkbox è spuntato o meno

    Salve a tutti.
    In una pagina asp c'è un form, con vari dati da essere aggiornati, eventualmente, su un db access. Questo form contiene vari elementi quali textbox, textarea, radio button e checkbox. Riesco a salvare tutti i dati contenuti nei primi tre tipi d'elemento form, ma nel caso del checkbox no. Il tipo di dato che deve contenere il checkbox è boolean.
    Vi posto una parte del codice che interessa il checkbox e vi spiego cosa succede:

    Quando entro nella pagina mi fa una select di tutti i campi della tabella, compresi i checkbox. Questo è l'esempio di uno su cui ci sto lavorando:
    codice:
    	  if rs(23) = true then
    	  Response.Write("<input name=""CB1_" & rs(23).Name & """ type=""checkbox"" class=""style3"" id=""chkLettere"" value=""True"" checked />")
    	  else
    	  Response.Write("<input name=""CB1_" & rs(23).Name & """ type=""checkbox"" class=""style3"" id=""chkLettere"" value=""False"" />")
    	  end if
    Finora per passare i valori ho utilizzato il seguente metodo:
    codice:
    	  Dim mode3
    	  for each item in Request.Form
    	  ...
    	  if Mid(item, 1, 4) = "CB1_" then
    	  	 mode3=Request(item)
    			 if mode3 = "True" then
    				SQL1 = SQL1 & Mid(item, 5) & " = "
    				SQL1 = SQL1 & "true, "
    			 elseif mode3 = "False" then
    				SQL1 = SQL1 & Mid(item, 5) & " = "
    				SQL1 = SQL1 & "false, "
    			 end if
    	  end if
    	  next
    E questa è l'update che deve fare successivamente:
    codice:
          SQL = "UPDATE " & ltabella & " SET " & Left(SQL1, Len(SQL1)-2)
          SQL = SQL & " WHERE " & request.cookies("lcampo") & " = " & Replace(request("codice"), "'", "''")
           Response.write ("Query Eseguita:" & SQL & "
    ")
          cn.Execute SQL, aff
    Se il valore all'inizio è false, spunto il check e premo sul bottone il valore continua ad essere false (mentre doveva essere true).
    Mentre se il valore all'inizio è true, e tolgo la spunta dal check e premo sul bottone l'update non considera nemmeno quel campo.
    Cosa può essere dovuto? Cosa ho sbagliato nel codice? Vi chiedo scusa se il codice non è perfetto ma sono solo due settimane che ci lavoro su asp. =/
    Grazie in anticipo a chi mi risponderà.

  2. #2
    se provi a printare a video l'SQL del'update senza farlo eseguire la query risulta giusta?

    tu printi query eseguita prima di fare efettivamente l'esecuzione ...
    prova a printare la query di upfate in entrambi i casi con e senza il checkbox spuntato ...
    e postala.
    Ah, Jedis! I had no ideas! What can i do for you, honored Jedis?

    I'm not Jedi. I'm a guy with a lighsaber and a few questions.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    residenza
    Belo Horizonte, Brazil
    Messaggi
    258
    Nessuno dei due casi risultano giuste le query:

    Checkbox con la spunta (e quindi il valore dovrebbe essere true):
    codice:
    Query Eseguita: UPDATE Prospect SET referente = '', PreNota = '', menseRo = '', menseRc = '', rifInterno = '', cap = '', lettere = false, commerciale = '', offertaEcon = 'No', TOSAPRo = '', TOSAPRc = '', volMailing = '', dataInserimento = '01/03/2011 14.25.20', volOttica = '', volVario1 = '', volVario2 = '', volVario3 = '', volVario4 = '', dataScheda = '01/03/2011', Cliente = 'prova allan', indirizzo = '', telefono = '', ICIRo = '', ICIRc = '', TARSURo = '', TARSURc = '', volLettere = '', volFatture = '', volFlyers = '', provincia = '', PANota = '', volCedolini = '', volCataloghi = '', AzNota = '', volSostitutiva = '', probSuccesso = '75%', fattPotenziale = '', fattPrevisto = '' WHERE ID = 17
    Invece è false, come si vede in " lettere = false ".

    Checkbox senza la spunta (e quindi il valore dovrebbe essere false):
    codice:
    Query Eseguita:UPDATE Prospect SET referente = '', PreNota = '', menseRo = '', menseRc = '', rifInterno = '', cap = '', commerciale = '', offertaEcon = 'No', TOSAPRo = '', TOSAPRc = '', volMailing = '', dataInserimento = '01/03/2011 14.25.20', volOttica = '', volVario1 = '', volVario2 = '', volVario3 = '', volVario4 = '', dataScheda = '01/03/2011', Cliente = 'prova allan', indirizzo = '', telefono = '', ICIRo = '', ICIRc = '', TARSURo = '', TARSURc = '', volLettere = '', volFatture = '', volFlyers = '', provincia = '', PANota = '', volCedolini = '', volCataloghi = '', AzNota = '', volSostitutiva = '', probSuccesso = '75%', fattPotenziale = '', fattPrevisto = '' WHERE ID = 17
    In questo caso non viene proprio considerato il campo " lettere ".

  4. #4
    allora c'è qualcosa a monte nel codice che non va bene, sui checkbox, magari hai sbagliato qualcosa ...
    prova a controllare
    Ah, Jedis! I had no ideas! What can i do for you, honored Jedis?

    I'm not Jedi. I'm a guy with a lighsaber and a few questions.

  5. #5

    Re: Valori true o false se checkbox è spuntato o meno

    Non riesco a capire cosa sia tutto questo O.o in genere bastano 2 if per sistemare la cosa (uno per pagina)

  6. #6

    Re: Valori true o false se checkbox è spuntato o meno

    Originariamente inviato da x_raystyle

    codice:
    	  if rs(23) = true then
    	  Response.Write("<input name=""CB1_" & rs(23).Name & """ type=""checkbox"" class=""style3"" id=""chkLettere"" value=""True"" checked />")
    	  else
    	  Response.Write("<input name=""CB1_" & rs(23).Name & """ type=""checkbox"" class=""style3"" id=""chkLettere"" value=""False"" />")
    	  end if
    questo sarebbe
    codice:
    <input name="CB1_"<%=rs(23).Name%> type="checkbox" class="style3" id="CB1_" value="true" <%if rs(23) = true then%>checked<%end if%> />
    giusto?

  7. #7
    questo
    codice:
    	  Dim mode3
    	  for each item in Request.Form
    	  ...
    	  if Mid(item, 1, 4) = "CB1_" then
    	  	 mode3=Request(item)
    			 if mode3 = "True" then
    				SQL1 = SQL1 & Mid(item, 5) & " = "
    				SQL1 = SQL1 & "true, "
    			 elseif mode3 = "False" then
    				SQL1 = SQL1 & Mid(item, 5) & " = "
    				SQL1 = SQL1 & "false, "
    			 end if
    	  end if
    	  next
    potrebbe essere

    codice:
    	  Dim mode3
    	  for each item in Request.Form
    	  ...
    	  if Mid(item, 1, 4) = "CB1_" then
    	  	 mode3=Request(item)
                        
    			if mode3<> "True" then
                                mode3="false"
                            end if
    			  SQL1 = SQL1 & Mid(item, 5) &"="&mode3&", "
    	  end if
    	  next
    tenendo presente che non capisco il for each ecc.

  8. #8
    ok finalmente son riuscito a decifrare prova ad inserire le modifiche che ti ho postato e fammi sapere

    però attenzione perchè il fro each credo che non sia corretto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.