Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Kevin
    Registrato dal
    Aug 2002
    Messaggi
    503

    [JS] controllo checkbox

    Ciao devo fare in modo che almeno un checkbox sia checcato, i check si chiamano progressivamente ck1, ck2 ...

    la funzione è questa che parte al submit

    function checkcont(){
    chk="no";
    k=1+1;
    for(i=1;i<k;i++){
    nchk="ck"+i;
    if(document.form1.nchk.checked){
    chk="si"
    }
    }
    if(chk!="si"){
    alert("Bisogna selezionare almeno una opzione");
    return false;
    }
    }

    ma non funziona mi aiutate?
    Non ti accontentare mai. Raggiungi il successo e poi rinizia da capo.
    Non si ha mai una seconda possibilità per fare una bella prima impressione.
    Punti d'immersione in Italia e all'estero
    Template per siti web

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La logica della funzione sembra corretta, ma ci sono varie cose che le impediscono di funzionare:
    1. non puoi comporre un oggetto componendo il suo nome
    2. ti ho messo dei commenti ln linea.

    La chiami correttamente con:
    <form ... onSubmit="return checkcont(this)">

    Poi la funzione deve diventare:
    codice:
    function checkcont(ff){
      chk=false;
      k=1+1; // ????
      for(var i=1;i<k;i++){ // non mi piace un loop che parte da 1
        nchk="ck"+i;
        if(ff.elements[nchk].checked){
          chk=true;
          break; // accorcia il loop se non serve proseguire
        }
      }
      if(!chk){
        alert("Bisogna selezionare almeno una opzione");
        return false;
      }
      return true;
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di Kevin
    Registrato dal
    Aug 2002
    Messaggi
    503
    ti spiego il perche del k, devo sistemare uno script che non e' mio, visto che e' una pagina dinamica e non so quanti ck ci sono il k sarebbe 1 + il numero di ck che si formano dinamicamente(in questo caso era 1)

    poi sono partito da i=1 perche' il primo ck del form parte con il nome ck1 e gli altri a seguire.


    Purtroppo quando prendi in mano cose dal'altri queste cose succedono, ora provo la funzione grazie
    Non ti accontentare mai. Raggiungi il successo e poi rinizia da capo.
    Non si ha mai una seconda possibilità per fare una bella prima impressione.
    Punti d'immersione in Italia e all'estero
    Template per siti web

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.