Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Yuppies
    Registrato dal
    Apr 2007
    Messaggi
    355

    Selezionare-Deselezionare Checkbox in maniera limitata

    Buon pomeriggio a tutti.

    Chiedo aiuto per risolvere questo problema:

    Per cominciare, credo di trovarmi in una situazione un po più unica che rara.
    Vado ad illustrarvi il problema:

    Ho una tabella le cui righe(tr) contengono un serie di valori estratti da DB
    es.
    riga1: nome e cognome | data nascita | checkbox
    riga2: nome e cognome | data nascita | checkbox
    riga3: nome e cognome | data nascita | checkbox
    riga4: nome e cognome | data nascita | checkbox
    riga5: nome e cognome | data nascita | checkbox
    riga6: nome e cognome | data nascita | checkbox

    Per ogni riga, nella cella checkbox è presente un form (il cui nome è sempre differente)

    Quando l'utente clicca sulla checkbox il browser percepisce tale selezione come una operazione di submit ed invia tramite il form determitati valori.

    Questi valori vengono analizzati lato server e vanno a spuntare o meno il relativo campo nel DB.

    Spero di essere stato chiaro fino a questo punto.

    Il mio problema nasce dall'esigenza di dover limitare il numero di checkbox attivabili.

    Vorrei che l'utente possa attivare un massimo di 5 checkbox.

    Ho provato già con javascript ma siccome il nome del form è sempre differente ad ogni riga, i vari script non funzionano.

    Quindi sto provando in questo modo con script lato server
    (Lo script impostato in questa maniera funziona fin quando si raggiunge lo spuntare delle 5 checkbox dopodichè, se voglio deselezionarne una, non funge)

    Quanche anima buona che mi da una mano?

    If Request("update")=1 then
    a = Request("HL_V")
    b = "C"
    c = b&a
    d = LCase(Request("C"&a))
    if d = "false" then
    valore = "-1"
    else
    valore = "0"
    end if
    Apro connessione al DB
    strSQL = "select COUNT(IDHL) AS totRec FROM Tabella WHERE Con = true"
    Set objRsTestMaxOff = Server.createObject("ADODB.Recordset")
    objRsTestMaxOff.Open strSQL, Cn

    MaxOffVisual = 5
    if objRsTestMaxOff("totRec") <= (MaxOffVisual) Then
    StrSQLUSL = "UPDATE Tabella SET Con = '"&valore&"' WHERE IDHL = "&Request("HL_V")
    Cn.Execute(StrSQLUSL)
    else
    'mostrerò errore
    End if
    Chiudo connessione al DB
    end if



    HTML (questo è il form presente nella cella relativa al checkbox)

    <form id="HL_V" name="HL_V<%=rs("IDHL")%>" method="post" action="?update=1">
    <input name="HL_V" type="hidden" id="hiddenField" value="<%=rs("IDHL")%>" />
    <input type="checkbox" name="C<%=rs("IDHL")%>" value="<%=rs("Con")%>" id="idC<%=rs("IDHL")%>" <%if rs("Con")=True Then %> checked="checked" <%End if%> OnClick="document['HL_V<%=rs("IDHL")%>'].submit(); return false" />
    </form>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Se lo vuoi fare lato client con jquery è molto semplice esempio a prescindere dai form che tu hai nel documento, ma puoi farlo anche in js ma è un po più complesso realizzarlo, se invece vuoi operare lato server devi aggiungere un campo numerico nella tabella "opzioni_spuntate" e incrementi/decrementi quando fai l'update nei form poi metti un if tipo:
    <input type="checkbox" value="xx" <%if record("opzioni_spuntate") = 5 Then Response.Write "disabled='disabled'"%>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.