Ir para conteúdo

POWERED BY:

Arquivado

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

william_droops

[Resolvido] RadioButton define funcão

Recommended Posts

Tenho um formulário que quando eu clico em enviar ele chama uma função para verificar se todos os campos estão preenchidos.

 

Existe radiosbuttons definindo que tipo de formulario que é; quero que quando clicar em um tipo de radiobutton, desative a função de preenchimento obrigatório .

 

 

EXE

radio 1 = obrigatório todos os campos

radio 2 = obrigatório todos os campos

radio 3 = Livre

 

Botao enviar(Chama a função de campo obrigatório somente nos radios 1 e 2)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mano william_droops, tudo bem?! :-)

 

Mano, sua dúvida está muito genérica, hehe! Então, como eu não compreendi direito, responderei da melhor maneira que consigo encontrar no momento (resposta também genérica!).

 

Veja a lógica de validação:

 

<script>
function validarFormulário() {

	 if (radio1 está checado E radio2 está checado) {
		  Validar formulário dessa maneira
	 } else {
		  Validar formulário de outra maneira
	 }

}

Obviamente, essa é uma resposta beeem ampla. Por isso, seria interessante você detalhar melhor o que você realmente deseja! ;-)

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Klonder, tudo bem ?

 

Eu ja tenho um função que verifica se todos os campos do meu formulário foram preenchidos, essa função eu a chamo no botão de enviar, então a pessoa preenche os dados e quando tenta enviar, essa função verifica se todos os campos estão preenchidos, até ai tudo bem, mas agora o meu formulario mudou, dentro dele, eu tinha 2 radiobutton, que verificava o tipo de pessoa, ex Fornecedor, Prestador de Serviço, mas agora entrou mais uma opção, cliente.

 

Quando a pessoa clicar no radiobutton cliente, quero eliminar essa função, ou seja quando ele clicar em enviar, se o radiobutton tiver marcado em cliente, não verificar os campos.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Montei um exemplo bem simples, que simula o envio de alguma mensagem para um lugar qualquer da empresa (vamos supor que essa mensagem vá para o webmaster, ou departamento de denúncias, por exemplo).

 

Nesse exemplo, funcionários e clientes poderão enviar a mensagem. Entretanto, clientes não possuem um número de crachá, pois os mesmos não são cadastrados como funcionários na empresa. Além disso, obviamente também não fazem parte de nenhum outro setor dentro dessa empresa.

 

Sendo assim, no caso dos clientes, eles só precisarão digitar algo no campo "mensagem". Os funcionários não, deverão fornecer todos os dados, pois cada denúncia geraria, por exemplo, um bônus adicional ao final do mês.

 

Basta adaptar o exemplo a seguir ao seu caso, compreendendo a lógica de progamação.

 

<html>
<head>
<title></title>
</head>
<body>
<script>
function validaForm() {
objRadio = document.forms["form1"].elements["cargo"];
	//Se o botão Funcionário estiver checado;
	//Validar todos os campos
	if (objRadio[0].checked == true) {
	 	if (document.getElementById("codigo").value == "") {
			alert("Por favor, insira o número do seu crachá.");
			document.getElementById("codigo").focus();
			return false;
		}
		if (document.getElementById("departamento").value == "") {
			alert("Por favor, selecione o seu cargo");
			document.getElementById("departamento").focus();
			return false;
		}
		if (document.getElementById("mensagem").value == "") {
			alert("Por favor, digite uma mensagem");
			document.getElementById("mensagem").focus();
			return false;
		}	
	}else{
		if (document.getElementById("mensagem").value == "") {
			alert("Por favor, digite uma mensagem");
			document.getElementById("mensagem").focus();
			return false;
		}	
	}
} 
</script> 
</head>
<body> 
<form name="form1" action="pagina.php" method="post" onsubmit="return validaForm()";>
Selecione seu cargo:
<input type="radio" name="cargo" value="funcionario">Funcionário
<input type="radio" name="cargo" value="cliente" checked>Cliente
<br>Nº do crachá: <input type="text" name="codigo">
<br>Departamento: <select size="1" height="1" name="departamento">
	<option value="">---</option>
	<option value="Tesouraria">Tesouraria</option>
	<option value="Pessoal">Departamento pessoal</option>
	<option value="Fiscal">Fiscal</option>
</select>
<br><br>Mensagem: <input type="text" name="mensagem">
<br><br><input type="submit" value="Enviar">
</form>
</body>
</html>

Você poderia também, ao clicar no radio "Cliente", desativar os campos de texto que não requerem preenchimento. Enfim, você pode viajar aí na criatividade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado, apanhei aqui e resolvi buscando no google, ficou assim :

Criei dois botão cadastrar , um com a função e outro sem.

<input name="radiobutton" type="radio"  value="3" onclick="mudaDiv();">
<td scope="row" id="teste1" ><span class="submit">
	  <input name="Enviar" type="submit"  value="Cadastrar" onClick="return VerificaCampos();" >
	
	</span></th>
	<th scope="row"><span class="submit">
	  </span></th>
	<th scope="row"><span class="submit"></span></th>
  </tr>
  <tr valign="top">
	<th scope="row"> </th>
	<td scope="row" id="teste1"  class="some"><span class="submit">
	  <input name="Enviar" type="submit"  value="Cadastrar" >
	</span> 
	<th scope="row"> </th>

<script language="JavaScript">
 function mudaDiv() {
		d = document.form1;
		
		var div = document.getElementById("teste1");
		var div2 = document.getElementById("");
		
		myOption = -1;
		for (i=0; i<d.radiobutton.length; i++) {
		if (d.radiobutton[i].checked) {
		myOption = i;
		}
		}

		if (myOption == -1) {
		
			div.className = "some";
		} else {
		 	div.className = "aparece";
			div2.className = "some";
		}			   
	}

 

e acrescentei este estilo

 

<style>
.aparece {display: block;}
.some {display: none;}
-->
</style>

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.