Visualizzazione dei risultati da 1 a 9 su 9

Discussione: controllo check

  1. #1

    controllo check

    Salve a tutti ho questo script per controllare che almeno un check sia checkato....ma non funziona va sempre in debug e non riesco a capire il perche molto probabilmente ho sbagliato qualcosa e sicuramente c'è un metodomigliore per fare questo controllo cmq vi posto il codice se qualcuno trova l'errore.... ecco il codice

    <script language="JavaScript">
    function checkData() {
    if(document.mioform.checkobbligatorio.checked == false &&
    document.mioform.checkobbligatorio2.checked == false &&
    document.mioform.checkobbligatorio3.checked == false &&
    document.mioform.checkobbligatorio4.checked == false &&
    document.mioform.checkobbligatorio5.checked == false &&
    document.mioform.checkobbligatorio6.checked == false &&
    document.mioform.checkobbligatorio7.checked == false &&
    document.mioform.checkobbligatorio8.checked == false &&
    document.mioform.checkobbligatorio9.checked == false &&
    document.mioform.checkobbligatorio10.checked == false &&
    document.mioform.checkobbligatorio11.checked == false &&
    document.mioform.checkobbligatorio12.checked == false &&
    document.mioform.checkobbligatorio13.checked == false &&
    document.mioform.checkobbligatorio14.checked == false &&
    document.mioform.checkobbligatorio15.checked == false &&
    document.mioform.checkobbligatorio16.checked == false &&
    document.mioform.checkobbligatorio17.checked == false &&
    document.mioform.checkobbligatorio18.checked == false &&
    document.mioform.checkobbligatorio19.checked == false &&
    document.mioform.checkobbligatorio20.checked == false &&
    document.mioform.checkobbligatorio21.checked == false &&
    document.mioform.checkobbligatorio22.checked == false &&
    document.mioform.checkobbligatorio23.checked == false &&
    document.mioform.checkobbligatorio24.checked == false &&
    document.mioform.checkobbligatorio25.checked == false &&
    document.mioform.checkobbligatorio26.checked == false &&
    document.mioform.checkobbligatorio27.checked == false &&
    document.mioform.checkobbligatorio28.checked == false &&
    document.mioform.checkobbligatorio29.checked == false &&
    document.mioform.checkobbligatorio30.checked == false &&
    document.mioform.checkobbligatorio31.checked == false &&
    document.mioform.checkobbligatorio32.checked == false &&
    document.mioform.checkobbligatorio33.checked == false &&
    document.mioform.checkobbligatorio34.checked == false &&
    document.mioform.checkobbligatorio35.checked == false &&
    document.mioform.checkobbligatorio36.checked == false &&
    document.mioform.checkobbligatorio37.checked == false &&
    document.mioform.checkobbligatorio38.checked == false &&
    document.mioform.checkobbligatorio39.checked == false &&
    document.mioform.checkobbligatorio40.checked == false &&
    document.mioform.checkobbligatorio41.checked == false &&
    document.mioform.checkobbligatorio42.checked == false &&
    document.mioform.checkobbligatorio45.checked == false &&
    document.mioform.checkobbligatorio46.checked == false &&
    document.mioform.checkobbligatorio47.checked == false &&
    document.mioform.checkobbligatorio48.checked == false &&
    document.mioform.checkobbligatorio49.checked == false &&
    document.mioform.checkobbligatorio50.checked == false && )
    {
    // sono tutti e tre non checckati
    alert("devi checckare alemeno un checkbox");
    return false;
    }
    else
    {
    // uno o più checkbox sono checckati
    return true;
    }

    </script>
    che richiamo nel form in questo modo :




    onsubmit="return checkData(mioform)"



    grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    document.mioform.checkobbligatorio50.checked == false &&
    togli &&

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    206
    effettivamente l'if è un pò esagerato

    potresti fare una funzione del genere con un ciclo for:


    function checkData() {
    var flag = false;
    for(i=0; i<50; i++){
    if(eval("document.mioform.checkobbligatorio"+ i +".checked"));
    flag = true;
    }

    if(!flag){
    alert("devi checckare almeno un checkbox");
    return false;
    }
    else
    return true;
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da niko80
    effettivamente l'if è un pò esagerato
    eval non e` piu` supportato dai browser. occorre usare un metodo diverso. Ad esempio questo e` riconosciuto da tutti i browser (compreso NN4):
    codice:
    function checkData() {
      var flag = false;
      var ff = document.mioform;
      for(i=0; i<ff.length; i++){
        if(ff.elements[i].name.substr(0,10) == 'checkobbli' && ff.elements[i].checked") {
          flag = true;
          break;
        }
      }
    
      if(!flag){
        alert("devi checckare almeno un checkbox");
        return false;
      }
      else
        return true;
    }
    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    grazie a tutti funziona almeno in parte nel senso che chekko o non chekko mi compare sempre l'alert e non mi fa andare avanti.....

    grazie ancora

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Posta la tua implementazione del codice: ho l'impressione che ci sia un piccolo errore di sintassi da qualche parte.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    non l'ho modificato piu di tanto solo il nome......cmq eccolo


    <script language="JavaScript">
    function checkData() {
    var flag = false;
    var ff = document.mioform;
    for(i=0; i<ff.length; i++){
    if(ff.elements[i].name.substr(0,10) == 'checkbox' && ff.elements[i].checked) {
    flag = true;
    break;
    }
    }

    if(!flag){
    alert("devi selezionare almeno una categoria");
    return false;
    }
    else
    return true;
    }
    </script>
    che richiamo sempre al submit in questo modo....

    onsubmit="return checkData(mioform)"

    grazie ancora

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    E` quello che sospettavo. Confronti i primi 10 caratteri del nome con una stringa di 8 caratteri: risultera` sempre diversa.

    if(ff.elements[i].name.substr(0,8) == 'checkbox' && ff.elements[i].checked) {

    Questo presuppone che tutti i checkbox che devi controllare inizino con la stringa 'checkbox'.


    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    GRAZIE ADESSO PROVO SUBITO.....

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.