Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

bcs_ptx

Validar checkbox

Recommended Posts

Ai pessoal, fiz um script aqui para validar o formulário, que o usuário só pode incluir se marcar algum check box, mas quando coloco como array ele da erro, alguém sabe me dizer o por que?

 

nessa parte se eu colocar assim : areaDeAtuacao[] - não acontece nada, mas assim: areaDeAtuacao está certo

 


<script>
function validaMedico() {
	
	nomeDoFormulario = document.cadastro;
	
	if (nomeDoFormulario.areaDeAtuacao[0].checked==false && nomeDoFormulario.areaDeAtuacao[1].checked==false)
	{
		alert("Selecione o sexo.");
		return false;
	}
	return true;	
}
</script>

<form name="cadastro" onsubmit="return validaMedico();">
    <input type="checkbox" name="areaDeAtuacao[]" value="masc"> Masculino  
    <input type="checkbox" name="areaDeAtuacao[]" value="fem"> Feminino<br><br>
    
    <input type="submit" value="Enviar">
</form>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Do jeito que está fazendo não precisa do nome, faz o IF assim:

 

if (nomeDoFormulario[0].checked == false && nomeDoFormulario[1].checked == false){

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, mas não deu muito certo, ele só valida quando o primeiro check esta marcado, se eu marcar o segundo ele continua pedindo para checar, segue o código:

 

<script>
function validaMedicoInclui() {
	
	nomeDoFormulario = document.cadastro;	
	
	if(nomeDoFormulario.nomeI.value == "")
	{		
		alert("O campo " + nomeDoFormulario.nomeI.name + " deve ser preenchido!");
		nomeDoFormulario.nomeI.focus();		
		return false;
	}	
	if (nomeDoFormulario[0].checked == false && nomeDoFormulario[1].checked == false)
	{
		alert("Selecione o sexo.");
		return false;
	}
	return true;	
}
</script>

<form name="cadastro" onsubmit="return validaMedicoInclui();">
    
    <input type="text" name="nomeI"/>
    
    <input type="checkbox" name="areaDeAtuacao[]" value="masc"> Masculino  
    <input type="checkbox" name="areaDeAtuacao[]" value="fem"> Feminino<br><br>
    
    <input type="submit" value="Enviar">
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa opa opa!

 

Se você está fazendo um input pra definir SEXO, porque diabos está usando checkboxes? lol. Isso vai permitir que o usuário escolha ambos. Você deveria utilizar RADIO BUTTON.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá. Você mudou o exemplo, adicionou um campo a mais, isso trollou a conta do array dos campos e concordo com o "Fiote", porém, vai la saber o que você quer com os campos ai de checkbox :p

 

Segue um exemplo mais apropriado:

 

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
function validaMedicoInclui() {


nomeDoFormulario = document.cadastro;


if(nomeDoFormulario.nomeI.value == "")
{
alert("O campo " + nomeDoFormulario.nomeI.name + " deve ser preenchido!");
nomeDoFormulario.nomeI.focus();
return false;
}


if (nomeDoFormulario.areaDeAtuacao1.checked == false && nomeDoFormulario.areaDeAtuacao2.checked == false){
alert("Selecione um sexo");
return false;
}
return true;
}
</script>
</head>
<body>
<form name="cadastro" onsubmit="return validaMedicoInclui();">
    
    <input type="text" name="nomeI"/>
    
    <input type="checkbox" name="areaDeAtuacao1" value="masc"> Masculino  
    <input type="checkbox" name="areaDeAtuacao2" value="fem"> Feminino<br><br>
    
    <input type="submit" value="Enviar">
</form>
</body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza, na verdade não é o sexo que seleciono, ou só duas caixas, são mais de 10 campos de checks que eu tenho, só dei esse como exemplo, e quando vou fazer a inserção preciso passar como array, pois posso passar mais de um campo selecionado, por isso preciso do [] no final do nome, ai atualizando oque eu preciso é isso, mas continua dando erro com o []

 

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
function validaMedicoInclui()
{	nomeDoFormulario = document.cadastro;

	if(nomeDoFormulario.nomeI.value == "")
	{
		alert("O campo " + nomeDoFormulario.nomeI.name + " deve ser preenchido!");
		nomeDoFormulario.nomeI.focus();
		return false;
	}
	if (nomeDoFormulario.areaDeAtuacaoI1.checked == false && nomeDoFormulario.areaDeAtuacaoI2.checked == false){
		alert("Selecione uma opção");
		return false;
	}
return true;
}
</script>
</head>
<body>
<form name="cadastro" onsubmit="return validaMedicoInclui();">
    
    <input type="text" name="nomeI"/>
    
    <input type='checkbox' name='areaDeAtuacaoI1[]' value='1' onClick='marca(this)' id='1' class='checkbox'/>
    <input type='checkbox' name='areaDeAtuacaoI2[]' value='2' onClick='marca(this)' id='2' class='checkbox'/>
    
    <input type="submit" value="Enviar">
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.