Dúvida em JavaScript

Olá! Sou novo aqui no Guj e também em JavaScript, por isso, tenho uma dúvida na utilização da teg select e de como captura a informação de uma opção e utilizá-la em um condicional. Postarei o que ja escrevi.

	<script type="text/javascript">
		var peso, altura, sexo, nome;
		
		function calcIMC(){
			nome=document.getElementById('TNome').value;
			sexo=document.getElementById('TSexo');
			peso=document.getElementById('TPeso').value;
			altura=document.getElementById('TAltura').value;
			
			if(selected == "Feme"){
				alert ("Você é mulher");
			}else{
				alert("Você é homem");
			}
		}
	</script>
</head>
<body>
	<form name="formQuestao02" method="post" id="Q2form" >
	
		<label>None:<input type="text" name="Cnone" value="Nome e Sobrenome" id="TNome" size="35"/><br>
		<label>Sexo:
		<select name="Ssexo" id="TSexo" size="2">
			<option value="Feme">Femenino</option>
			<option value="Masc">Masculino</option>
		</select>
		</label><br>
		<label>Peso:<input type="number" name="Cpeso" id="TPeso" size="15" /></label><br>
		<label>Altura:<input type="number" name="Caltura" id="TAltura" size="15" /></label><br>
		<input type="submit" name="Bsubmit" id="TSubmit" value="Evitar" onclick="calcIMC()"/>
	</form>
</body>

É assim:

selected = sexo.options[sexo.selectedIndex].value;
1 curtida

Obrigado Wellington! Agradeço imensamente sua ajuda, mas não entendi, onde essa linha entra? Eu gostaria de pegar a opção escolhida e testá-la no IF. Como pego a opção e como testo a mesma no condicional?

A linha que mostrei entraria abaixo dessa:

sexo = document.getElementById('TSexo');

Mas fiz uns testes aqui e vi que ela é desnecessária. Basta vc modificar o seu if pra ele ficar assim:

if (sexo.value == "Feme") {
  alert("Você é mulher");
} else {
  alert("Você é homem");
}
1 curtida

Olá de novo Wellington! Sua dica foi bem vinda, eu agradeço. Acho que encontrei uma solução diferente. Mesmo assim lhe agradeço, muito obrigado!

sexo=document.getElementById(“Sexo”).value;

if(sexo == “Feme”){
imcFeme();
}else{
imcMasc();
}

1 curtida