Visualizzazione dei risultati da 1 a 4 su 4

Discussione: controllo check box

  1. #1

    controllo check box

    ciao a tutti..
    devo controllare con js che nella check box sia stata selzionata almeno una voce...il problema e' che le check boc hanno tutte lo stesso name,in quanto generate dinamicamente con jsp




    while(rs.next()){

    id_contatto = rs.getInt(1);
    rs2 = smt2.executeQuery("SELECT username FROM tm08_05.utente WHERE
    id_utente='"+id_contatto+"'");
    rs2.next();

    String contatto = rs2.getString(1);

    %>

    <input type="checkbox" name="deleteCont" value=<%= contatto %> />

    <%
    out.println( contatto + "

    " ); //mettere un

    che non vada a capo

    }




    se faccio una onsubmit con le check box validate che ho trovato in giro ovviamente mi da sempre l'errore,.....qualcuno sa come fare????

    grazie

  2. #2
    Ciao pacemaker. Una soluzione, potrebbe essere quella di utilizzare una variabile che incrementi ogni volta che esci dal while, per poi concatenarla al nome della checkbox. Ad es.:

    int i = 0;
    while(rs.next()){
    ....
    <input type="checkbox" name="deleteCont_<%= i %>" value=<%= contatto %> />

    <%
    out.println( contatto + "

    " ); //mettere un

    che non vada a capo
    i++;
    }
    ....

    In questo modo sei sicuro di avere checkbox con nomi differenti. Potresti perfino sostituire la i con l'id del record nella tabella. Resta però da definire la funzione validate che non so come agisce, ma che comunque dovrebbe scorrere tutte le checkbox. Potresti ricavarti il numero di utenti trovati con la funzione COUNT(*) di SQL per poi analizzarle tutte in un ciclo for.

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    per favore, se il problema riguarda il versante client posta sempre un output-tipo delle operazioni lato server
    e' piu' chiaro per tutti

    se hanno identico name costituiscono un array, bisogna ciclare per gli elements del form che hanno quel name
    codice:
    function controllo(f){
      var cks=f.elements['deleteCont'];
      var almenoUnoSegnato=false;
      for(var k=0;k<cks.length;k++){
        // fai quello che devi fare, per esempio
        if(cks[k].checked==true){
          almenoUnoSegnato=true;
          break;
        }
      }
      if(!almenoUnoSegnato){
        alert('ne serve almeno uno segnato');
        return false
      }
    }
    
    ...
    
    <form onsubmit="return controllo(this)">
    ciao

  4. #4
    grazie ragazzi..

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.