Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285

    controllo su 1 solo checkbox

    dovrei inserire una funzione che mi controlla se almeno uno dei n checkbox sia checkato (cioe se in tutti i checkbox sono vuoti)

    ho fatto nel seguente modo, ma, pretende che tutti siano checkatti per proseguire


    for (i = 0; i < window.FatturePagate.IdFattura.length; i++)
    if (window.document.FatturePagate.IdFattura[i].checked == false) {
    alert("non checckata");
    return(false)
    }

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao KLINKO,

    con quello che hai fatto tu ti da il messaggio al primo checkbox non checkato... tu devi controllarli tutti
    codice:
    var numerocheck=0
    for(i = 0; i < window.FatturePagate.IdFattura.length; i++) 
      if(!window.document.FatturePagate.IdFattura[i].checked)
        numerocheck++
    if(numerocheck==0){
      alert('Selezionare almeno un checkbox')
      return false
    }else return true

  3. #3
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285
    grazie
    diciamo che funziona

    mi servirebbe il contrario però...

    il messaggio comprare se tutte le caselle sono selezionate
    e non se tutte sono vuote

    come posso scrivere il codice per fare il contrario?

  4. #4
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285
    risolto
    ciao

    for(i = 0; i < window.FatturePagate.IdFattura.length; i++)
    if(!window.document.FatturePagate.IdFattura[i].checked)
    if(i==0){
    alert('Selezionare almeno un checkbox')
    return false
    }

  5. #5
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    non mi pare che sia risolto così.... ridimmi di preciso quando vuoi che appaia il messaggio d'errore

  6. #6
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285
    deve comparire quando tutti i checkbox sono senza check

  7. #7
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    allora basta togliere il not dal controllo di prima
    codice:
    var numerocheck=0
    for(i = 0; i < window.FatturePagate.IdFattura.length; i++) 
      if(window.document.FatturePagate.IdFattura[i].checked)
        numerocheck++
    if(numerocheck==0){
      alert('Selezionare almeno un checkbox')
      return false
    }else return true

  8. #8
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285
    questo ultimo codice funziona benissimo solo se i checkbox sono piu di uno
    se risulta esserci un solo checkbox manda l'alert sia se è checcato sia se non checked.

  9. #9
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    ah... potrebbe esserci anche un solo checkbox.... anche "neanche uno"?
    codice:
    if(document.FatturePagate.IdFattura){
      var numerocheck=0
      if(document.FatturePagate.IdFattura.length){
        for(i = 0; i < document.FatturePagate.IdFattura.length; i++) 
          if(document.FatturePagate.IdFattura[i].checked)
            numerocheck++
      }
      else
        if(document.FatturePagate.IdFattura.checked)
          numerocheck++
      if(numerocheck==0){
        alert('Selezionare almeno un checkbox')
        return false
      }else return true
    }
    return true

  10. #10
    Utente di HTML.it L'avatar di KLINKO
    Registrato dal
    Sep 2002
    Messaggi
    285
    cosi va benissimo grazie.
    sarei solo curioso di vedere il codice se i check box sarebbero completamente assenti


    ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.