Ir para conteúdo

POWERED BY:

Arquivado

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

Campecino

[Resolvido] Conferir em Java Script

Recommended Posts

Boa Tarde Pessoal!

 

Estou fazendo um formulário onde a pessoa pode escolher entre plano A ou B, sendo que, caso escolha o B ela precisa selecionar também o valor. Caso seleciona o Plano A (Que é de graça, ele sugere o plano B). Fiz um código em java para conferir se ela escolheu algum plano, e se escolheu o valor, mas não esta funcionando. :unsure: Alguém sabe aonde que eu errei? Obrigado!!!

 

Código com formulário

<script language="javascript">
function assinar()
{
   if ((document.inserir.plano.value=="") || (document.inserir.plano.value.length==0))
  {
     alert ("Favor escolher um plano.")
	 document.inserir.plano.focus()
     return false	
  }
     if ((document.inserir.plano.value!="") || (document.inserir.plano.value.length!=0))
  {
	       if ((document.inserir.valor.value=="") || (document.inserir.plano.value.length==0))
  {
     alert ("Favor escolher um valor.")
	 document.inserir.valor.focus()
     return false	
  }
     return false	
  }
     if ((document.inserir.valor.value!="") || (document.inserir.plano.value.length!=0))
  {
     alert ("FTem certeza que não quer comprar um plano? Clique em OK para continuar com plano A ou cancelar para escolher o plano B.")
	 document.inserir.plano.focus()
     return false	
  }
return true
}
</script>
<form action="cadastro_plano.php" method="post" name="inserir" >
<input value="a" type="radio" name="plano" /> Plano A
<input value="b" type="radio" name="plano" /> Plano B<br />
<input type="radio" name="valor" value="5" /> Valor R$5,00<br />
<input type="radio" name="valor" value="10" /> Valor R$10,00<br />
<input type="radio" name="valor" value="15" /> Valor R$15,00<br />
<br />
<input type="image" src="assinar.gif" width="100" height="40" onclick="return assinar()"/>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galéra, depois de quebrar a cabeça a tarde inteira consegui,,, http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif , se alguem quiser melhorar o código fico muito agradecido. Vlw!

 

Testado no IE e Firefox!

 

<script type="text/javascript">
function assinar(){
var controle = 0;
for (i=0;i<document.inserir.plano.length;i++){
if (document.inserir.plano[i].type == "radio"){
if (document.inserir.plano[i].checked == true){
controle++;
}
}
}
if (controle <= 0){
alert("Selecione um plano");
return false;
}
if (1==1) {
    for(i = 0; i < document.inserir.plano.length; i++){
    if (document.inserir.plano[i].checked) {
    break;
    }
    }
    var plan = document.inserir.plano[i].value;

if (plan=="a") {
apagar = confirm("Você escolheu o Plano A. Tem certeza que não quer comprar um plano? Clique em OK para continuar com plano A ou cancelar para escolher o plano B.")
if ( apagar ==false){
	return false;
}
if ( apagar ==true){
	return true;
}
}
}
var controles = 0;
for (i=0;i<document.inserir.valor.length;i++){
if (document.inserir.valor[i].type == "radio"){
if (document.inserir.valor[i].checked == true){
controles++;
}
}
}
if (controles <= 0){
if (plan=="b") {
alert("Selecione um valor");
return false;
}
}
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

[Editado]

Quando postei, você já havia mostrado a sua solução! http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif

 

-- Post --

Para trabalhar com radios, você deve ou testar o valor de um por um, ou então criar um loop (laço) para ver se algum foi selecionado ou qual foi selecionado.

 

Além disso, seu código está um pouco confuso... por isso resolvi fazer outro para te ajudar a compreender melhor como trabalhar com botões do tipo radio.

 

Comentei o código para te ajudar melhor.

<script type="text/javascript">
function verificarEstado() {
var objRadio = document.getElementById("planoB");
var objDivB = document.getElementById("grupoB");

	if (objRadio.checked == true) {
		objDivB.style.display = "block";
	} else {
		objDivB.style.display = "none";
	}
}


function assinar() {
var objRadioPlano = document.forms['inserir'].elements['plano'];

//Criando variáveis controle:
var selecionado = false;
var planoEscolhido;


//Percorrendo todos os radios com name=plano:
for(var i=0; i<objRadioPlano.length; i++) {

	//Verificando se algum plano foi selecionado;
	if (objRadioPlano[i].checked) {
		selecionado = true;
		planoEscolhido = objRadioPlano[i].value;
	}
}

	if (selecionado == true) {
		//Se o plano escolhido for o "a":
		if (planoEscolhido == "a") {
			if(confirm("Você tem certeza que quer continuar com o plano A?") == false) {
				return false;
			}
		}
		
		//Se o plano escolhido for o "b":
		if (planoEscolhido == "b") {
			//Resentando a variável selecionado, para a utilizarmos agora com os valores:
			selecionado = false;
		
			//Localizando os radios com name=valor:
			var objRadioValor = document.forms['inserir'].elements['valor'];
		
				//Percorrendo todos os radios com name=valor:
				for(var i=0; i<objRadioValor.length; i++) {

					//Verificando se algum valor foi selecionado;
					if (objRadioValor[i].checked) {
						selecionado = true;
					}
				}
			
				if (selecionado == false) {
					alert("Selecione um dos valores do plano B.");
					return false;
				}
		}
	
	
	} else {
		alert("Você deve selecionar algum plano para prosseguir.");
		return false;
	}

}
</script>
<form name="inserir" action="cadastro_plano.php" method="post" onsubmit="return assinar()">
Selecione um plano:
<br /><br /><input value="a" type="radio" name="plano" onclick="verificarEstado()" /> Plano A
<input id="planoB" value="b" type="radio" name="plano" onclick="verificarEstado()" /> Plano B<br />
<br /><div id="grupoB" style="display:none">
<input type="radio" name="valor" value="5" /> Valor R$5,00<br />
<input type="radio" name="valor" value="10" /> Valor R$10,00<br />
<input type="radio" name="valor" value="15" /> Valor R$15,00<br />
</div>
<br /><br /><input type="image" src="assinar.gif" width="100" height="40"/>
</form>

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.