Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: validare un checkbox[]

  1. #1

    validare un checkbox[]

    Salve ragazzi ...
    ho un problemino con la validazione di una serie di checkbox creati dinamicamente (php) e che si chiamano sel_int[] (proprio con le parentesi quadre, per permettere il passaggio in un array). Almeno uno di essi deve essere selezionato...

    normalmente utilizzando semplicemente sel_int farei cosi:

    codice:
    for(i=0;i<document.fattura.sel_int.length;i++)
    {
    if (document.fattura.sel_int[i].checked==true)
    	{
    		trovato=true;
    	}
    }
    if (trovato==false)
    	{
    		alert("Seleziona almeno un'intervento");
    		return false;
    	}
    e normalmente funziona ... ma adesso che ci sono quelle due [] non funge...... ho provato a modificare di tutto, ma niente... sapete darmi una mano???

    Grazie Mike

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    99
    Utilizza la seguente sintassi:

    if (document.fattura.elements('sel_int[i]').checked==true)

  3. #3
    niente da fare.... il problema rimane quello, il checkbox si chiama sel_int[] e non semplicemente sel_int...

    ho provato anche

    fattura.elements('sel_int[]')[i]

    ma niente...

    AIUTO!!!!!!!!!!!!!!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    99
    Ma tu sai già a priori quanti sono i radio?
    Se si il codice è questo

    for(i=0;i<numeroRadio;i++)
    {
    if (document.fattura.elements('sel_int[i]').checked==true)
    {
    trovato=true;
    }
    }
    if (trovato==false)
    {
    alert("Seleziona almeno un'intervento");
    return false;
    }

  5. #5
    non lo so a priori... tutto dipende da quanti record c'ho nel db!! Quel codice funziona !!! MA PER sel_int... non sel_int[]....

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ricapitolo perche` mi sono perso.

    Ci sono tanti campi checkbox con lo stesso nome e il nome e` 'sel_int[]' ?

    In tal caso ti consiglio questa sintassi:
    codice:
    var cb = document.NOMEFORM.elements['sel_int[]'];
    for(var i=0; i<cb.length; i++) {
      if(cb[i].checked) ...;
    }
    In pratica dovresti fare:
    if (document.fattura.elements['sel_int[]'][i].checked==true) ....
    ma con la mia sintassi e` piu` semplice (per noi umani).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    FUNZIONA!!!!! GRAZIE MILLE!!! MI HAI RISOLTO UN GROSSO PROBLEMA!!! GRAZIEEE!!!!!

  8. #8
    mi è venuta un'altra domanda....

    in javascript quale funzione corrisponde al trim di php??
    Il trim toglie gli spazi all'inizio e alla fine di una stringa quindi " ciccio " diventa "ciccio"...

    Grazieeeee

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    codice:
    var str = " ciccio ";
    str = str.replace(/^\s*(.+)\s*$/, "$1");
    Attenzione alle backslash: fai un quote del messaggio prima del copia-incolla.

    Questa non toglie gli spazi interni, e non svuota la stringa se contiene solo spazi.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Mi riattacco a questo post, perchè ho un problema leggerissimamente diverso.

    Mich ha usato il seguente codice:
    codice:
    var cb = document.NOMEFORM.elements['sel_int[]'];
    for(var i=0; i<cb.length; i++) {
      if(cb[i].checked) ...;
    }
    Il mio problema è invece che tra le parentesi quadre del nome della
    checkbox, ho un numero crescente. Anche io non so a priori quante caselle ci saranno nella pagina perchè le tiro fuori da db, ed anche io in PHP. Di conseguenza il nome delle varie checkbox è idmacrocategoria[1], idmacrocategoria[2], idmacrocategoria[3], etc.

    Le ho provate di tutte, ma non riesco a fare uno script che controlli se almeno una check è spuntata.
    COME FACCIO?!?!?!
    Avevo usato questo, ma non funziona, nel senso che non mi da errore, ma non gliene fotte niente se il campo è ceckato o meno...
    codice:
    controlla_pr=0;
    for (i=0; eval("document.ricerca.idmacrocategoria"+[i]); i++) {
    if (document.ricerca.idmacrocategoria[i].checked==true) controlla_pr=1;
    }
    AIUTATEMI!!!

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.