[Resolvido]JSP Servlet checkbox não capturado

2 respostas
Marcelo_de_Andrade

Boa tarde, GUJ!

Estou com um problema e gostaria de ajuda para entender o que há de errado acontecendo. Estou capturando os valores do checkbox e armazenando no banco de dados, porém, se esse checkbox estiver chamando uma função javascript, ele não é capturado.

Estou fazendo da seguinte forma:
<input type="checkbox" id="basico" value="1" name="caracteristicas" onclick="modeloBasico()">
Se eu remover o onclick="modeloBasico()", o Servlet consegue capturar normalmente e eu não consigo ver onde estou errando. Script JS:
function modeloBasico(){

	var checkbox = document.getElementsByName("caracteristicas");

	for ( var i = 0; i < checkbox.length; i++ ){
		checkbox[i].checked = false;
		checkbox[i].disabled= true;
	}
	
	document.getElementById("basico").checked = true;
}
Exemplo do Servlet:
String caracteristicas[] = request.getParameterValues("caracteristicas"); 
		
		if (caracteristicas != null && caracteristicas.length != 0) {
			for (int i = 0; i < caracteristicas.length; i++) {

Obrigado pela atenção.

2 Respostas

rock

Boa tarde,

na sua função modeloBasico() você está desmarcando (checked = false) e desabilitando (disabled = true) todos os checkbox, inclusive o de ID 'basico'. Tente algo assim:
function modeloBasico(){  
      
        var checkbox = document.getElementsByName("caracteristicas");  
      
        for ( var i = 0; i < checkbox.length; i++ ){  
            checkbox[i].checked = false;  
            checkbox[i].disabled= true;  
        }  
          
        document.getElementById("basico").checked = true;  
        document.getElementById("basico").disabled = false;
    }
Marcelo_de_Andrade

Obrigado, rock. Realmente era isso, o checkbox estava sendo desabilitado e não passava o valor.

Criado 16 de setembro de 2012
Ultima resposta 16 de set. de 2012
Respostas 2
Participantes 2