Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    cambio di spunta a checkbox

    ciao a tutti. volevo chiedervi un piccolo aiuto.

    sto creando una pagina per modificare le abilitazioni che un utente ha. nel database le abilitazioni sono date tramite delle checkbox che sono spuntate o meno. il campo del db è di tipo SI/NO.

    io faccio questo: faccio visualizzare a video la checkbox con la spunta (o senza a secona dei casi) e lo faccio con questo codice:

    codice:
    <input type="checkbox" name="vds_enable" value="<%=rs("VDS_enable")%>" <%if rs("VDS_enable")=true then%> checked="checked"<%end if%>/>
    e fino a qui è tutto ok

    l'utente se vuole cambiare il privilegio basta che toglie o mette la spunta.
    poi c'è un bottone che passa i valori alla pagina successiva che ha il compito di salvare i risultati nel database.
    il problema è questo: se metto la spunta ad una casella che non la ha...tutto ok..mi salva il risultato.
    se tolgo la spunta..non mi effettua la modifica. probabilmente ho un piccolo errore di codice: ve lo posto...

    codice:
     
    if request("checkbox")=true then 
    rs("VDS_enable")= checked="checked"
    else
    rs("VDS_enable")= checked=""
    end if
    in questo modo fa una ricerca: se la casella è spuntata da a vds_enable quel valore, altrimenti dovrebbe non dargli nulla...

    nella parte dopo l'ELSE cosa potrei mettere al posto di scrivere checked =""?
    ho provato a scrivere UNCHECKED oppure a lasciare uno spazio vuoto ma facendo non funziona bene

    grazie a tutti ciao ciao

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Il problema è il VALUE... che contiene sempre qualcosa ovvero aggiorna il campo con un valore "pieno".

    Roby

  3. #3
    io avevo pensato di dare ogni volta un valore diverso alle varie checkbox..evidentemente sbagliavo!

    ho provato a fare questi cambiamenti:
    1-ho provato a dare un valore fisso al value..uguale per tutti i campi. ho scrivvo value="checkbox"
    2-ho provato a dare un valore vuoto al value scrivendo value=""
    3-ho provato a togliere del tutto il value

    ma in tutti e 3 i casi mi da lo stesso errore: se modifico aggiungendo la spunta..ok, se modifico togliendola mi rimane la checkbox spuntata.

    come mi consigliereste di correggere?

  4. #4
    Assegna a tutte le checkbox lo stesso value: "on"

    codice:
    if(Request.Form("vds_enable")="on")then
       vds=true
    else
       vds=false
    end if
    
    if(Request.Form("XXX_enable")="on")then
       XXX=true
    else
       XXX=false
    end if
    'ecc.
    
    SQL="Update Config Set vds="&vds&", XXX="&XXX&" Where ID=X"

  5. #5
    innanzi tutto grazie per la risposta, però non funziona. sia che tolgo sia che metto la spunta non mi effettua la modifica

    innanzi tutto la checkbox l'ho scritta cosi:

    codice:
    <input type="checkbox" name="vds_enable" value="vds_enable" <%if rs("VDS_enable")=true then%> checked="checked"<%end if%>/>
    dando il value="vds_enable" in modo che sia uguale per tutti

    nella pagina dove avviene la modifica ho scritto:

    codice:
    if (request.form("vds_enable")="on") then 
    VDS = true
    else
    VDS = false
    end if
    
    SQL="Update Config Set vds_enable="&vds&" Where nome_completo = '"&strcodice&"' "
    dalla prima faccio passare come valore il nome_completo dell'utente e il campo da modificare si chiama vds_enable

    provo a metterti tutto il codice dealla pagina di modifica cosi se magari puoi notare qualche errore che io non ho visto..

    codice:
    <%
    dim strCodice
    strCodice = request("Nome_completo")
    
    if strCodice<>"" then
    dim strCode
    
    strCode="innovatel"
    Set Conn=Server.CreateObject("ADODB.Connection")
    strConn="driver={Microsoft Access Driver (*.mdb)}; "
    strConn=strConn & " DBQ=" & Server.MapPath("/SITO/database/verifichedisistema.mdb")
    strConn=strConn & ";pwd=" & strCode
    Conn.Open strConn
    
    sql = "SELECT * FROM utenti as A INNER JOIN ruoli as B ON a.Nome_completo = b.nominativo WHERE a.nome_completo = '"&strcodice&"' "
    
    
    
    
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3
    
    
    
    rs("e_mail")=request.form("e_mail")
    
    rs("ruolo")=request.form("ruolo")
    
    if (request.form("vds_enable")="on") then 
    VDS = true
    else
    VDS = false
    end if
    
    SQL="Update Config Set vds_enable="&vds&" Where nome_completo = '"&strcodice&"' "
    
    
    rs.update
    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing
    %>
    <HTML>
    <HEAD>
    <TITLE> Aggiornamento Dati </TITLE>
    </HEAD>
    <BODY>
    <TABLE width="100%" height="100%" valign="middle">
    <TR>
    <TD><center>
    <table width="80%" border="1" align="center" bgcolor="#bee3ef">
    <TR>
    <TD height="67"><CENTER>Aggiornamento eseguito
    correttamente</CENTER></TD> </TR>
    <TR>
    <TD height="76"><CENTER><a href="modifica1.asp">Verifica Le
    Modifiche</a></CENTER></TD> </TR>
    </TABLE>
    </center></TD>
    </TR>
    </TABLE>
    </BODY>
    </HTML>
    <%
    else
    response.redirect "modifica1.asp"
    end if
    %>

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    A che scopo crei una stringa con sql se stai aggiornando il record con assegnazioni dirette?


    codice:
    rs("e_mail")=request.form("e_mail")
    rs("ruolo")=request.form("ruolo")
    
    ...
    ...
    
    ' ** togli ** SQL="Update Config Set vds_enable="&vds&" Where nome_completo = '"&strcodice&"' "
    
    rs("vds_enable")=vds
    
    rs.update
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    HO RISOLTO!!!

    grazie mille per il suggerimento!

    avevo seguito alla lettera i tuoi consigli ma mi ero scordato di cambiare in maniera corretta il value...e pensare che oggi c'ho passato almeno 2 ore su questa cosa

    grazie mille per il prezioso suggerimento! spero che queste checkbox non mi diano altri problemi

  8. #8

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.