Ir para conteúdo

POWERED BY:

Arquivado

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

pedrovisk

Validando Radio

Recommended Posts

Olá!

 

Tenho o código abaixo que está validando muito bem os textbox, mas quando eu seleciono um dos RADIOS, ele continua seolicitando que eu preencha um dos textbox.

Eu gostaria de sabe onde está o pro na validação de um dos itens.

 

<script>
<!--
function valida () {

	var contador;
	var flag;
	
	flag = false;

	if ((document.frmControle.Emissor.value == "")||(document.frmControle.DtEmissao.value == "")||(document.frmControle.DtEntrega.value == "")){
	for ( contador = 0; contador < frmControle.Movimento.length; contador ++ ) {
		if ( frmControle.Movimento[contador].checked ) {
			flag = true;
		}
	}	
		alert('Atenção: Defina parâmetros para Consulta!');
		document.frmControle.Emissor.focus();
		return false;
	}
}
//-->
</SCRIPT>

Obrigado a quem puder ajudar.

 

Pedro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ions,

 

Obrigado. Desculpe-me por não ter inserido.

Segue conforme solicitado:

 

<form action="Controle_Diario_Relatorio_Conferencia.asp" method="post" name="frmControle" id="frmControle">
		  <tr class="TituloFormAzul">
			<td height="1" colspan="2" align="center">Formulário para Consulta</td>
		  </tr>
		  <tr align="left" class="FormularioLinhaAzul">
			<td width="15%" class="Font_Peq_Form"><strong>Emissor:</strong></td>
			<td width="85%"><select name="Emissor" class="Combo" id="Emissor">
				<option value="" selected="selected">Selecione</option>
				
				<option value="314"  >Aline Ferrari</option>
				
				<option value="302"  >Andre Santos</option>
				
				<option value="381"  >Anelisa Santos</option>
				
			  </select></td>
		  </tr>
		  <tr align="left" class="FormularioLinhaAzul">
			<td class="Font_Peq_Form"><strong>Data Emissão: </strong></td>
			<td><input name="DtEmissao" type="text" class="Combo" id="DtEmissao" value="" size="15" maxlength="10" />
			  <font size="2" face="Arial, Helvetica, sans-serif"><a href="java script:showCal('Calendar3')"><img src="../Imagens/Calendario.gif" alt="Calendario" width="19" height="17" border="0" /></a></font></td>
		  </tr>
		  <tr align="left" class="FormularioLinhaAzul">
			<td class="Font_Peq_Form"><strong>Data Entrega: </strong></td>
			<td class="Font_Peq_Form"><input name="DtEntrega" type="text" class="Combo" id="DtEntrega" value="" size="15" maxlength="10" />
			  <a href="java script:showCal('Calendar4')"><img src="../Imagens/Calendario.gif" alt="Calendario" width="19" height="17" border="0" /></a> às 16:43:37
			  <input name="HoraEntrega" type="hidden" id="HoraEntrega" value="16:43:37" />			</td>
		  </tr>
		  <tr align="left" class="FormularioLinhaAzul">
			<td class="Font_Peq_Form"><strong>Movimento:</strong></td>
			<td><input name="Movimento" type="radio" value="S" />
			  <span class="Font_Peq_Form">Sim</span>
			  <input name="Movimento" type="radio" value="N" />
			  <span class="Font_Peq_Form">Não - <a href="#" onClick="MM_openBrWindow('Emissoes_Realizadas.asp','VerificaVenda','width=600,height=450')">Verificar</a></span></td>
		  </tr>
		  <tr align="left" class="FormularioLinhaAzul">
			<td class="Font_Peq_Form"><strong>Recebido Por: </strong></td>
			<td><select name="RecebidoPor" class="Combo" id="RecebidoPor">
			  <option value="" selected="selected">Selecione</option>
			  
			  <option value="260"  >Flavio Santos</option>

			  <option value="338"  >Joaquim Neto</option>

			  <option value="1"  >Pedro Teixeira</option>

			</select></td>
		  </tr>
		  <tr align="left" class="FormularioLinhaAzul">
			<td class="Font_Peq_Form"><strong>Conferido por: </strong></td>
			<td><select name="ConferidoPor" class="Combo" id="ConferidoPor">
			  <option value="" selected="selected">Selecione</option>
			  
			  <option value="109"  >Cíntia Ribeiro</option>
			  
			  <option value="65"  >Rosiane Silva</option>
			  
			</select></td>
		  </tr>
		  <tr>
			<td> </td>
			<td> </td>
		  </tr>
		  <tr>
			<td colspan="2" align="center"><input name="Submit" type="submit" class="Botao" value="Consultar" />
			  <input name="Submit2" type="reset" class="Botao" value="Limpar" /></td>
		  </tr>
		</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá na mão um código de validação belezinha!

 

<html>
<head>
<title></title>
<script type="text/javascript">
//Script by Klonder

function validarRadios() {
var checado = 0;
var objRadio = document.forms["form1"].elements["Movimento"];
	for (var i=0; i < objRadio.length; i++) {
	   if (objRadio[i].checked == true) {
		 alert("O valor do radio button é: "+objRadio[i].value);
		 checado = 1;
		 return true;
	   }
	}
	if (checado == 0) {
		alert("Nenhum radio foi checado!");
	}
}
</script>

</head>
<body>

<form name="form1" action="" method="post">
Movimento: <input type="radio" name="Movimento" value="Sim"> Sim  
  <input type="radio" name="Movimento" value="Não"> Não  
  <input type="radio" name="Movimento" value="Talvez"> Talvez
<br><br>
<input type="button" value=" Validar Radios " onClick="validarRadios()">
</form>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Klonder,

 

Muito obrigado pela ajuda. Utilizando seu código e fazendo uma pequena adaptação ao meu, gerei o código abaixo.

 

function Validar() {
if ((document.frmControle.Emissor.value == "")||(document.frmControle.DtEmissao.value == "")||(document.frmControle.DtEntrega.value == ""))
var checado = 0;
var objRadio = document.forms["frmControle"].elements["Movimento"];
	for (var i=0; i < objRadio.length; i++) {
	   if (objRadio[i].checked == true) {
		 document.frmControle.action="Controle_Diario_Relatorio_Conferencia.asp";
		 document.frmControle.submit();
		 //alert("O valor do radio button é: "+objRadio[i].value);
		 checado = 1;
		 return true;
	   }
	}
	if (checado == 0) {
		alert("Atenção: Defina parâmetros para a Consulta!");
	}
}

O mesmo está funcionando perfeitamente quanto aos RADIOS, mas ele não está validando o textbox. Eu preciso que ele verifique o formulário e que obrigue o usuário a selecionar ou preencher UM dos ITENS do formulário para poder fazer o submit conforme acima.

 

Abaixo, segue o código do formulário completo:

 

<form action="Controle_Diario_Relatorio_Conferencia.asp" method="post" name="frmControle" id="frmControle">
<option value="" selected="selected">Selecione</option>
<option value="314"  >Aline Ferrari</option>
</select>
<input name="DtEmissao" type="text" class="Combo" id="DtEmissao" value="" size="15" maxlength="10" />
<input name="DtEntrega" type="text" class="Combo" id="DtEntrega" value="" size="15" maxlength="10" />
<input name="Movimento" type="radio" value="S" />
<input name="Movimento" type="radio" value="N" />
<select name="RecebidoPor" class="Combo" id="RecebidoPor">
			  <option value="" selected="selected">Selecione</option>
			  
			  <option value="260"  >Flavio Santos</option>

			  <option value="338"  >Joaquim Neto</option>

			  <option value="1"  >Pedro Teixeira</option>

</select>
<select name="ConferidoPor" class="Combo" id="ConferidoPor">
			  <option value="" selected="selected">Selecione</option>
			  
			  <option value="109"  >Cíntia Ribeiro</option>
			  
			  <option value="65"  >Rosiane Silva</option>
			  
</select>
<input name="Button" type="button" class="Botao" value="Consultar" onClick="Validar()"/>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é puxando sardinha para o meu lado não, pois o que nós aprendemos depende da vivência do que já passamos. Isso também vale para JavaScript...

 

Mas de qualquer forma, por favor pedrovisk, não chore quando estiver testando o código a seguir não...

Ele ficou formidável!!!

<html>
<head>
<title></title>
<script type="text/javascript">
//Script by Klonder

function Validar() {
//Redefinindo o background;
document.frmControle.Emissor.style.backgroundColor = "#FFFFFF";
document.frmControle.DtEmissao.style.backgroundColor = "#FFFFFF";
document.frmControle.DtEntrega.style.backgroundColor = "#FFFFFF";

if(document.frmControle.Emissor.value == "") {
	document.frmControle.Emissor.style.backgroundColor = "#FFDEDE";
	alert("Por favor, preencha o campo selecionado!");	
	return false;
}

if(document.frmControle.DtEmissao.value == "") {
	document.frmControle.DtEmissao.style.backgroundColor = "#FFDEDE";
	alert("Por favor, preencha o campo selecionado!");
	document.frmControle.DtEmissao.focus();
	return false;
}

if(document.frmControle.DtEntrega.value == "") {
	document.frmControle.DtEntrega.style.backgroundColor = "#FFDEDE";
	alert("Por favor, preencha o campo selecionado!");
	document.frmControle.DtEntrega.focus();
	return false;
}

var checado = 0;
var objRadio = document.forms["frmControle"].elements["Movimento"];
	for (var i=0; i < objRadio.length; i++) {
	   if (objRadio[i].checked == true) {
		 document.frmControle.action="Controle_Diario_Relatorio_Conferencia.asp";
		 document.frmControle.submit();
		 checado = 1;
	   }
	}
	
	if (checado == 0) {
		alert("Atenção: Defina parâmetros para a Consulta!");
		return false;
	}
}
</script>
</head>
<body>
<form name="frmControle" action="Controle_Diario_Relatorio_Conferencia.asp" method="post" onSubmit="return Validar();">

<select name="Emissor" id="Emissor" class="Combo">
<option value="" selected>Selecione</option>
<option value="314">Aline Ferrari</option>
</select>

<input type="text" name="DtEmissao" id="DtEmissao" size="15" maxlength="10" class="Combo"/>
<input type="text" name="DtEntrega" id="DtEntrega" size="15" maxlength="10" class="Combo"/>
<input type="radio" name="Movimento" value="S" />
<input type="radio" name="Movimento" value="N" />

<select name="RecebidoPor" id="RecebidoPor" class="Combo" >
<option value="" selected="selected">Selecione</option>
<option value="260">Flavio Santos</option>
<option value="338">Joaquim Neto</option>
<option value="1">Pedro Teixeira</option>
</select>

<select name="ConferidoPor" id="ConferidoPor" class="Combo">
<option value="" selected="selected">Selecione</option>			  
<option value="109">Cíntia Ribeiro</option>			  
<option value="65">Rosiane Silva</option>
</select>

<input type="submit" class="Botao" value="Consultar">
</form>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

AJUDAAAAAAAAAAAAA

Seguindo o tópico RADIO BUTTONS,

meu script de validação esta correto e rolando perfeitamente.

Porém quando da o alert de que campos devem ser checados, quando você clica em ok no alert o formulário é enviado mesmo assim E EU NÃO ACHO A SOLUÇÃOOOO, JÁ TO 3 DIAS PESQUISANDO E LENDO E LENDO E NADAAAAA.

 

 

<script language="javascript">
function checkForm(){
var a1a=document.getElementById("1");
var a2a=document.getElementById("2");
var a3a=document.getElementById("3");
var a4a=document.getElementById("4");
var a5a=document.getElementById("5");
if(a1a.checked || a2a.checked || a3a.checked || a4a.checked || a5a.checked){
checkForm2();
}
else {
alert("Há perguntas sem resposta, por favor preencha todas");
return false;
}
}
</script>

<form name="formulario" method="post" action="../form/kn01.php" onsubmit="checkForm();">
<table width="100%" border="0" cellpadding="1" cellspacing="0" bgcolor="#DDDDDD" class="text_cinza">
					  
					  <tr>
						<td colspan="10"><span class="title_vermelho"> A ... reage rapidamente diante as mudanças do mercado e da concorrência.</span><br></td>
					  </tr>
					  <tr>
						<td width="5%" align="center"><label>
						  <input type="radio" name="a04" id="1" value="Discordo Totalmente">
						</label></td>
						<td width="19%">Discordo<br>
						  Totalmente</td>
						<td width="3%"><input type="radio" name="a04" id="2" value="Discordo Parcialmente"></td>
						<td width="17%">Discordo <br>
						  Parcialmente</td>
						<td width="2%"><input type="radio" name="a04" id="3" value="Nem Concordo, Nem Discordo"></td>
						<td width="15%">Nem Concordo, Nem Discordo</td>
						<td width="2%"><input type="radio" name="a04" id="4" value="Concordo Parcialmente"></td>
						<td width="18%">Concordo<br>
						  Parcialmente</td>
						<td width="2%"><input type="radio" name="a04" id="5" value="Concordo Totalmente"></td>
						<td width="17%">Concordo<br>
						  Totalmente</td>
						</tr>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

é só botar um return na chamada da função:

onsubmit="return checkForm();"

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.