Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764

    Controllare che almeno un checkbox sia spuntato

    Ho un form con 14 checkbox. Come faccio a controllare che almeno uno di questi venga spuntato?
    Quando recupero i valori del form, un checkbox spuntato viene valorizzato con "on".
    Ho provato mettere in una IF tutti i campi ed il controllo non viene fatto correttamente.
    Esiste un numero massimo di OR che posso mettere in una IF?
    C'è una strada diversa da percorrere?

    Questa non funziona: se non spunto niente, mi va correttamente nella pagina di errore. Se spunto una o più voci, va lo stesso nella pagina di errore.
    codice:
    If posizione_sinistra <> "on" OR posizione_destra <> "on" OR anabbagliante_sinistra <> "on" OR anabbagliante_destra <> "on" OR abbagliante_sinistra <> "on" OR abbagliante_destra <> "on" OR freccia_anteriore_sinistra <> "on" OR freccia_anteriore_destra <> "on" OR freccia_posteriore_sinistra <> "on" OR freccia_posteriore_destra <> "on" OR fendinebbia_anteriore_sinistra <> "on" OR fendinebbia_anteriore_destra <> "on" OR fendinebbia_posteriore_sinistra <> "on" OR fendinebbia_posteriore_destra <> "on" Then
     Response.Redirect "errore-driver.asp?id=2"
     End If

    Ho fatto un test con un numero inferiore di condizioni e funziona: non spunto niente e mi segnala l'errore, spunto almeno una voce e va avanti correttamente.
    codice:
    If posizione_sinistra <> "on" OR posizione_destra <> "on" OR fendinebbia_posteriore_destra <> "on" Then
        Response.Redirect "errore-driver.asp?id=2"
    End If

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Stranamente, dopo aver aperto il thread, mi è apparso l'avviso che il mio thread non sarebbe stato visibile prima dell'approvazione di un moderatore...

  3. #3
    1. scrivi così che è più facile controllare

    codice:
    If posizione_sinistra <> "on" OR _
       posizione_destra <> "on" OR _
       anabbagliante_sinistra <> "on" OR _
       anabbagliante_destra <> "on" OR _
       abbagliante_sinistra <> "on" OR _
       abbagliante_destra <> "on" OR _
       freccia_anteriore_sinistra <> "on" OR _
       freccia_anteriore_destra <> "on" OR _
       freccia_posteriore_sinistra <> "on" OR _
       freccia_posteriore_destra <> "on" OR _
       fendinebbia_anteriore_sinistra <> "on" OR _
       fendinebbia_anteriore_destra <> "on" OR _
       fendinebbia_posteriore_sinistra <> "on" OR _
       fendinebbia_posteriore_destra <> "on" Then
          Response.Redirect "errore-driver.asp?id=2"
     End If
    2. come recuperi i vari valori?

  4. #4
    Quote Originariamente inviata da Roby140569 Visualizza il messaggio
    Stranamente, dopo aver aperto il thread, mi è apparso l'avviso che il mio thread non sarebbe stato visibile prima dell'approvazione di un moderatore...
    capita quando si pagano in ritardo le bollette

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Grazie Optime... molto più leggibile così.

    Recupero i valori così:
    codice:
    posizione_sinistra =  Request.Form("posizione_sinistra")

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Quote Originariamente inviata da optime Visualizza il messaggio
    capita quando si pagano in ritardo le bollette
    OK!

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    764
    Penso di aver risolto!
    Se TUTTI i checkbox non sono spuntati mi deve dare errore, quindi devo mettere AND, non OR.
    codice:
    If  (posizione_sinistra <> "on") AND _
        (posizione_destra <> "on") AND _
        (anabbagliante_sinistra <> "on") AND _
        (anabbagliante_destra <> "on") AND _
        (abbagliante_sinistra <> "on") AND _
        (abbagliante_destra <> "on") AND _
        (freccia_anteriore_sinistra <> "on") AND _
        (freccia_anteriore_destra <> "on") AND _
        (freccia_posteriore_sinistra <> "on") AND _
        (freccia_posteriore_destra <> "on") AND _
        (fendinebbia_anteriore_sinistra <> "on") AND _
        (fendinebbia_anteriore_destra <> "on") AND _
        (fendinebbia_posteriore_sinistra <> "on") AND _
        (fendinebbia_posteriore_destra <> "on") Then
        Response.Redirect "errore-driver.asp?id=2"
    End If

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.