Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Controlli radio button

  1. #1

    Controlli radio button

    Per controllare che in un form (costituito solo da radio button) ne sia stato selezionato almeno uno devo per forza controllare:

    document.form.nomeRadio(0)
    document.form.nomeRadio(1)
    document.form.nomeRadio(2)
    ...
    ...
    ecc????

    Non esiste il modo per poter effettuare un controllo globale?
    Dico questo perche i radio vengono presi dal DB quindi sono variabili: oggi magari 5...domani 6...e almeno uno deve essere selezionato.
    Chi mi aiuta? grazie
    tre fiorini!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Nota: [] non () (altrimenti funziona solo in IE)

    var rr = document.nomeform.nomeradio;
    for (var i=0; i<rr.length; i++) {
    if(rr[i].checked) return true;
    }
    return false;

    Il codice di ritorno e` true se almeno uno e` checked, false se sono tutti non-checked.

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

  3. #3
    provo subito...
    tre fiorini!!!

  4. #4
    ho fatto cosi:

    function checkform(){
    var radioname = document.frmIns.modalitaPagamento
    for(i=0; i<radioname.length; i++){
    if (radioname[i].checked){
    document.frmIns.submit();
    return true;
    } else {
    alert("Scegliere almeno una bla....");
    return false;
    }
    }
    }

    ma continua a darmi l'alert anche se seleziono un radio!!!
    tre fiorini!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    No, e` sbagliato.

    Intanto non mi piace il submit fatto con JS. Un bel return true e` preferibile (e comunque dipende da come chiami la funzione: la cosa migliore e`:
    <form ... onsubmit="return checkform()">
    ).

    Inoltre la logica dell'if e` sbagliata.

    Vedi questa modifica:
    codice:
    function checkform(){
      var radioname = document.frmIns.modalitaPagamento;
      var ok = false;
      for(i=0; i<radioname.length; i++){
        if (radioname[i].checked){
          ok = true;
          break;
        }
      }
      if(ok){
        return true;
      } else {
        alert("Scegliere almeno una bla....");
        return false;
      }
    }
    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    ariprovo...
    tre fiorini!!!

  7. #7
    Cosa sbaglio ancora? mi da sempre lo stesso errore: continua a visualizzare l'alert

    function checkform(){
    var frm = document.frmIns;
    var radioname = frm.modalitaPagamento;
    var ok = false;
    for(i=0; i<radioname.length; i++){
    if (radioname[i].checked){
    ok = true;
    break;
    }
    if (ok){
    frm.submit();
    }else {
    alert("Scegliere almeno una bla....");
    return false;
    }
    }
    }
    tre fiorini!!!

  8. #8
    NO NO....ho risolto....questione di parentesi!!!!....distrazione!!!
    grazie mille
    tre fiorini!!!

  9. #9
    come faccio in questo punto:

    if (radioname[i].checked){
    ok = true;
    break;
    }


    a prelevare il value del radio checkato?
    tre fiorini!!!

  10. #10
    che stupida!!!....radioname[i].value!!!! svegliarsi troppo presto fa male al cervello!!!!
    tre fiorini!!!

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.