Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908

    Validare checkbox, non ci riesco!

    Ho una serie di checkbox:

    codice:
    <input name="listChannell" type="checkbox" id="listChannell" value="<%=rs("idChannell")%>" />
    si chiamano tutte listChannell e vorrei far si che se tra tutte le check, non ne è selezionata ALMENO 1, compaia il classico alert, qualcuno mi aiuta?
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  2. #2
    prova così:

    codice:
    function controllo () {
    
       var checkbox = document.getElementsByName('listChannell');
       var checks = 0;
       for (i=0;i<checkbox.length;i++) {
          if (checkbox[i].checked == true ) {
              checks++;
          }
       }
       if (checks = 0) {
               alert("errore!");
       }
    }

  3. #3
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Niente, non va, anche se deselezionato, va avanti e non valida!

    codice:
    <script language="JavaScript" type="text/javascript">
    function controlla(){
      if(document.addNews.txtTitolo.value=="") {
        alert("Inserisci il titolo!");
        return false;
      }
    if(document.addNews.txtSottotitolo.value== "") {
    alert("Inserisci il sottotitolo!");
    return false;
    }
     if(document.addNews.txtArticolo.value=="") {
        alert("Non hai scritto l'articolo!!");
        return false;
    	}
    	if(document.addNews.askEditoriale.selectedIndex == 0) {
    	alert("Non hai specificato se si tratta di un'editoriale!");
    	return false;
      }
      if(document.addNews.listAutori.selectedIndex == 0) {
      alert("Non hai l'autore/i per la notizia!")
      return false;
      }
      var checkbox = document.getElementsByName('listChannell');
       var checks = 0;
       for (i=0;i<checkbox.length;i++) {
          if (checkbox[i].checked == true ) {
              checks++;
          }
       }
       if (checks = 0) {
               alert("errore!");
       }
    
     return true;
    }
    </script>
    Sbaglio qualcosa?
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  4. #4
    Sul pulsante di submit hai aggiunto l'evento:

    codice:
    onclick="return controllo();"
    ciao ciao!

  5. #5
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Ovviamente si, gli altri field me li valida!
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    1 - piu' elementi non possono avere stesso id, sarebbe una contraddizione
    2 - il controllo fallo partire onsubmit sul form
    <form onsubmit="return controlla()">
    3 - getElementsByName non e' totalmente affidabile
    4 - fai ritornare false in caso di errore (mentre con una sola funzione richiamata onsubmit non e' strettamente necessario far ritornare true)
    5 - if(checks=0) non e' un controllo
    codice:
    function controlla(){
     ...blablabla...
    var checks = 0;
    var cks = document.addNews.elements['listChannell'];
    for (var i=0;i<cks.length;i++) {
          if (cks[i].checked == true ) {
              checks++;
          }
       }
       if (checks == 0) {
               alert("errore!");
               return false;
       }
    
      return true;
    }
    
    ...
    <form onsubmit="return controlla()">
    ...
    <iput type="submit" value="invia" />
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.