Ir para conteúdo

Arquivado

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

dataset

[Resolvido] Selecinar ao menos um checkbox

Recommended Posts

No exemplo a pessoa tem que selecinar pelo menos um checkbox para dar submit.

Mas eu tenho dois conjuntos de checkbox, e o codigo não ta validando o segundo conjunto, somente o primeiro.

 

Preciso de uma ajuda pra nao deixar dar submit.

 

Aí vai o que tenho até agora:

<script language="javascript" language="javascript">
	function fFun(vVal) {
		if (fCheck()) {
			alert('sbmit');
		}
		else {
			alert('nao submit');
		}
	}

	function fCheck() {
		var strResult = false;
		var form = document.getElementById("frm1").chk;
		for (i = 0; i < form.length; i++)	{
			if (form[i].checked) {
				strResult = true;
				break;
			}
		}
		return strResult;
	}
</script>

<form name="form" id='frm1'>
	<input type="checkbox" value="1" id="chk" name="item1"> segunda
	<input type="checkbox" value="2" id="chk" name="item2"> terça
	<input type="checkbox" value="3" id="chk" name="item3"> quarta
	<input type="checkbox" value="4" id="chk" name="item4"> quinta
	<input type="checkbox" value="5" id="chk" name="item5"> sexta
	
	<br><br>
	
	<input type="checkbox" value="4" id="chk1" name="item6"> manhã
	<input type="checkbox" value="5" id="chk1" name="item7"> tarde
	<input type="checkbox" value="5" id="chk1" name="item7"> noite
	<br><br>
	
	<button name="fbot" onclick="fFun('Gravar')">Clique</button>
</form>

 

Se selecinar um dos dia da semana, ele deixa passar mesmo que não tenha selecionado o turno.

O problema está nessa linha:

 

var form = document.getElementById("frm1").chk;

Pois está fixo o id do primeiro conjunto.

 

E se por acaso eu tiver mais um conjunto de checkbox ? ele tambem vai deixar passar.

 

O usuário tem que selecionar pelo menos um checkbox de cada conjunto.

 

Preciso de ajuda. Please.

Compartilhar este post


Link para o post
Compartilhar em outros sites


<script type="text/javascript">

//Na w3c agora, a TAG javascript fica como está acima!

 

 

function validarForm() {

var objDiaSem = document.forms['form1'].elements['diaSem'];

var objPeriodo = document.forms['form1'].elements['periodo'];

 

//Criando variáveis para controle do script:

var i;

var diaSemCheck = 0;

var periodoCheck = 0;

 

//Percorrer todos os checkboxes para ver qual está marcado:

for(i=0; i<objDiaSem.length; i++) {

if (objDiaSem.checked == true) {diaSemCheck++;}

}

 

for(i=0; i<objPeriodo.length; i++) {

if (objPeriodo.checked == true) {periodoCheck++;}

}

 

if (diaSemCheck == 0) {

alert("Por favor, selecione um dia da semana!"); return false;

}

 

if (periodoCheck == 0) {

alert("Por favor, selecione um período!"); return false;

}

}

</script>

 

<form name="form1" action="pagina.php" onsubmit="javascript: return validarForm()">

<input type="checkbox" value="1" id="diaSem"> Segunda

<input type="checkbox" value="2" id="diaSem"> Terça

<input type="checkbox" value="3" id="diaSem"> Quarta

<input type="checkbox" value="4" id="diaSem"> Quinta

<input type="checkbox" value="5" id="diaSem"> Sexta

<br><br>

<input type="checkbox" value="4" id="periodo"> Manhã

<input type="checkbox" value="5" id="periodo"> Tarde

<input type="checkbox" value="6" id="periodo"> Noite

<br><br>

<input type="submit" value="Enviar">

</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.