Ir para conteúdo

POWERED BY:

Arquivado

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

samucsouza

Submit aparecer após preencher select

Recommended Posts

Galera, gostaria que o botão Enviar aparecesse APÓS preencher os dois campos de select, como faço isso?

 

 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url=http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd [/url]">
<html xmlns="[url=http://www.w3.org/1999/xhtml]http://www.w3.org/1999/xhtml [/url]">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
 
 
 
 
<script language="javascript" type="text/javascript" >
 
 
 
window.onload = function() {
 
 
 
document.getElementById("bt").onclick = function jumpto(x) {
 
 
 
 
 
if (document.form1.jumpmenu.value == "Digite uma opção:" && document.form2.jumpmenu.value == "Digite uma opção:"  ) {
 
//document.getElementById('todos').style.display = "block";
alert("Preencha todos os campos!!!");
 
return true;  
 
}
 
 
 
if (document.form1.jumpmenu.value == "por" && document.form2.jumpmenu.value == "as"  ) {
 
alert("Correto!");
//document.getElementById('resposta').style.display = "block";
//document.getElementById('errada').style.display = "none";
 
 
}
 
else {
alert("Respostas erradas!!!");
//document.getElementById('errada').style.display = "block";
//document.getElementById('todos').style.display = "none";
 
}
 
 
}
 
 
 
}
 
 
 
 
</script>
<style type="text/css">
body {
font-family: Arial;
margin-left:200px;
}
#resposta {
display: none;
background: #06F;
padding: 10px;
position: relative;
z-index: 1;
color: #fff;
}
#errada {
display: none;
background: #900;
padding: 10px;
color: #fff;
}
 
#todos {
display: none;
background: #C30;
padding: 10px;
color: #fff;
}
 
#bt2 {
display:none;
background: #000;
padding: 10px;
color: #fff;
}
 
 
</style>
</head>
 
<body>
 
 
 
 
<div id="resposta">Correto! a frase correta é: O médico trocou a consulta por dinheiro.</div>
<div id="todos">Preencha todos os campos</div>
<div id="errada">Respostas erradas! Estude mais um pouco!</div>
 
<div id="bt2">habilita</div>
 
 
<br />
<br />
<br />
<form name="form1">
  <select name="jumpmenu" onChange="jumpto(document.form1.jumpmenu.options[document.form1.jumpmenu.options.selectedIndex].value)">
    <option>Digite uma opção:</option>
    <option>dele</option>
    <option>por</option>
    <option>ou</option>
  </select>
</form>
<br />
<br />
<form name="form2">
  <select name="jumpmenu" onChange="jumpto(document.form2.jumpmenu.options[document.form2.jumpmenu.options.selectedIndex].value)">
    <option>Digite uma opção:</option>
    <option>a</option>
    <option>o</option>
    <option>as</option>
  </select>
</form>
<br />
<br />
<input type="button" value="VERIFICAR!" id="bt"  onClick="jumpto()">
</label>
</body>
</html>

Att,

Samuel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, acredito que a solução tenha esse formato:

 

HTML:

 

<select id="meuSelect" onChange="verificar()">
    <option></option>
    <option> A </option>
    <option> B </option>
    <option> C </option>
</select>

JavaScript:

 

function verificar() {
    var meuSelect = document.getElementById("meuSelect");
    var indexSelecionado = meuSelect.selectedIndex;
    var valorOpcao = meuSelect.options[indexSelecionado].value;
    if(valorOpcao != "") {
         // Habilita o botão "Enviar"
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beto na vdd é isso que vc me passou deu certo aqui, porém minha dúvida é outra, digamos q tenho 2 forms, como faço pra ele só habilitar o submit após preencher todos?

 

 

<select id="meuSelect" onChange="verificar()"> <option></option>  <option> A </option> <option> B </option> <option> C </option></select>

 

 

<select id="meuSelect2" onChange="verificar()"> <option></option>  <option> 1 </option> <option> 2 </option> <option> 3 </option></select>

 

Quando os dois selects forem digitados ( select 1 e 2 ) ae aparece o submit.

 

 

Valeu pela ajuda =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

segue a mesma lógica.. se quer algo rápido e fácil.. dê um loop em todos os campos obrigatórios de ambos os formulários. se estiver tudo ok, libere o submit..

 

 

sabe como fazer loop nos elementos ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não vou postar tudo pronto.. mostrarei apenas o caminho das pedras..

 

o resto vc se vira:

// retrieve object/element
function objGet( eln ){
	var rr = false;
	if( document.all ){
		if(  document.all[eln]  ){
		rr = document.all[eln];
		}
	}else{
		if(  document[eln]  ){
		rr = document[eln];	
		}else{
			if(  document.getElementById(eln)  ){
			rr = document.getElementById(eln );
			}
		}
	}
	return rr;
}

function checkObjElements(id){
    f = objGet(id);

	f = f.elements;
	for( i=0;i<f.length;i++ ){
		tipo = f[i].type;
		nome = f[i].name;
		alert( 'tipo: ' + tipo + '\nnome: ' + nome );
		// sacou ?
		// aqui faz o loop.. 
		// verifique as propriedades dos objetos para validá-los..
	}
}

function verificar(){
	checkObjElements('frm1');
	checkObjElements('frm2');
}

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.