Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Recupero chekbox

  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026

    Recupero chekbox

    Salve.
    Nel mio form ho inserito due chekbox, qualcuno mi sa dire che metodo posso usare per recuperare quale chekbox è stato spuntato.
    Ad esempio ho fatto così:
    codice:
    pagina 1
             <input type="checkbox" name="1" value="somma"/> Somma
    
             <input type="checkbox" name="2" value="sottrai"/> Sottrai
    codice:
    pagina 2
    <% int somma = 1, sottrai = 2;
             if(request.getParameterValues("somma")== somma)
    		 
    	        {
            	  c=(a.somma(v1,v2));
            	  out.println(a.messaggio()+ c);
                } else if((request.getParameterValues("sottrai")== sottrai)){
                	c=(b.sottrai(v1,v2));
              	  out.println(a.messaggio()+ c);
              	  
            } %>
    ma ho un errore:
    Incompatible operand types String[] and int
    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Puoi implementare ActionListener ed utilizzare quindi il metodo actionPerformed() per sapere quando una di queste viene selezionata.
    Oppure Itemlistener, o ancora, ChangeListener

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Originariamente inviato da Patrick Jane
    Puoi implementare ActionListener ed utilizzare quindi il metodo actionPerformed() per sapere quando una di queste viene selezionata.
    Oppure Itemlistener, o ancora, ChangeListener

    Penso che l'utente stia parlando di un applicazione web e quello che vuole fare è recuperare da una servlet o jsp il valore di un checkbox di un altra pagina. L'unica cosa che deve fare è recuperare i valori correttamente non come fa ora. O almeno cosi credo...

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    ci sono una marea di errori:

    - stai confrontando un array di stringhe (request.getParameterValues) con un intero (somma/sottrai).
    - per recuperare i valori di un form devi utilizzare request.getParameter(campo)
    - nel form non esistono campi html chiamati somma e sottrai quindi il recupero di questi parametri darà sempre null
    - e' sempre sconsigliato dare dei valori numerici alla proprietà name di un campo html
    - ci sono un sacco di variabili che spuntano dal nulla

  5. #5
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Grazie Vindav delle osservazioni.
    Nel chekbox ho messo:
    codice:
             <input type="checkbox" name="somma" value="1"/> Somma
    
             <input type="checkbox" name="sottrai" value="2"/> Sottrai
    Ma continuo ad avere difficoltà nel recupero del valore.
    Potresti farmi un esempio di recupero del chekbox scelto?
    Grazie.
    P.S.: va bene anche un link dove lo spiega.

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Io farei cosi:

    pagina1
    codice:
    <form name="myForm">
    <input type="hidden" name="somma" value="false"/>
    <input type="hidden" name="sottrai" value="false"/>
    <input type="checkbox" name="chkSomma" onclick="document.myForm.somma.value=this.checked"/> Somma
    
    <input type="checkbox" name="chkSottrai" onclick="document.myForm.sottrai.value=this.checked"/> Sottrai
    </form>
    pagina2
    codice:
    String flagSomma = request.getParameter("somma");
    String flagSottrai = request.getParameter("sottrai");
    flagSomma.equalsIgnoreCase("true") ...
    flagSottrai.equalsIgnoreCase("true") ...

  7. #7
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Grazie Vindav. Funziona!

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.