HTML - Recoger los checkbox

 
Vista:
sin imagen de perfil

Recoger los checkbox

Publicado por Wasp (21 intervenciones) el 12/01/2016 08:25:44
Muy buenos días a todos/as.

Estoy intentando obtener de un formulario los checkbox para que luego pasados a un servlet yo pueda iterar sobre ellos pero ando super liado y no se por donde meterles mano.
Les dejo mi breve codigo a ver si me podriais orientar.

html:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<form action="ServletParamCheck" method="post" name="servletCheck">
	<table border=2>
		<tr>
		<td><input type="checkbox" name="param" value="param_001">Casa</td>
		<td><input type="checkbox" name="param" value="param_002">Hotel</td>
		</tr>
		<tr>
		<td><input type="checkbox" name="param" value="param_007">Chalet</td>
		<td><input type="checkbox" name="param" value="param_008">Garage</td>
		</tr>
	</table>
 
	<input type="submit" name="enviar" id="enviar" value="Enviar"></input>
</form>


Servlet:

aqui en el metodo doPost me gustaria obtener los check que el usuario ha seleccionado pero no se muy bien como hacerlos, habia pensado algo asi:

1
2
3
4
5
6
7
8
doPOST(){
	HttpSession session = request.getSession();
	Enumeration<String> nombreAtributos = session.getAttributeNames();
	while(nombreAtributos.hasMoreElements()){
		String atributos = nombreAtributos.nextElement();
		System.out.println(atributos);
	}
}

Pero la verdad que no me sale apenas nada, ¿alguien me podría dar una ligera noción para obtener los check y poder trabajar con ellos?

Muchas gracias!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Recoger los checkbox

Publicado por arck (10 intervenciones) el 12/01/2016 10:52:03
Yo esto lo utilice pero la devolución de los datos lo hacia por ajax, básicamente se te devuelve un array en tu caso de string.
si te fijas en los value que tienes param_001, param_002, param_007 ....

Lo único por javascript un ajax enviando param.

En el controlador con acceder con string[] y convertirlo al array debería valer.

Ahora mismo no tengo ningún código de ejemplo a mano, si me acuerdo cuando llegue a casa miro a ver si tengo alguno.
Si quieres puedes ponerlo en números para simplificar un poco en el controlador.

Si no lo quieres por ajax, lo puedes hacer exactamente igual con un submit.
la recepción seria igual.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Recoger los checkbox

Publicado por Wasp (21 intervenciones) el 12/01/2016 11:45:29
Buenas, muchas gracias por responder arck.
La verdad que no utilizo Ajax y no se como me podría venir bien para mi aplicación, tendré que mirar algún manual pero ando cortito de tiempo para entregar proyecto jeje.
Pues al final he optado por esto en mi Servlet:

1
2
3
4
String[] nombreAtributos = request.getParameterValues("param");
for(String valores: nombreAtributos){
	System.out.println("El valor o valores son: " +valores+ ".");
}

De esta manera si que me muestra los checkbox que han sido marcados y supongo que ahora podre iterar sobre ellos con un subString ya que tengo como bien pones un param_001 y ese código me viene bien con la base de datos me localice otras cosas.

Gracias de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Recoger los checkbox

Publicado por arck (10 intervenciones) el 12/01/2016 12:58:27
Puedes convertirlo a una lista<String> y asi lo facilitas

Creo que con la inicializacion se podia meter directamente.

1
List<String> lista = new ArrayList<String>(nombreAtributos);

Ajax es para enviar la información y no cambiar de contexto, básicamente le das al botón te envía la información al servidor y mientras el usuario toquetea la pagina sin problema, se usa para al contestar el servidor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar