-1
BUG performs only the first condition of IF and loads the photo and ignoring the other conditions and your photos .
Another question is also how to stop the code when the user fails to inform the one given form, because the most I could was send an Alert(), but after informing Alert() he continues the execution of the code.
function verificar() {
//Pegando o ano atual
var data = new Date()
var ano = data.getFullYear()
//ligação dos inputs com as variaveis
var nascimento = document.getElementById('ano')
var nascimento_valor = Number(nascimento.value)
var sexo = document.getElementsByName('radioSexo')
var texto = document.getElementById('texto')
var imagem = document.createElement('img')
imagem.setAttribute('id', 'foto')
//Verificação de dados
if (nascimento_valor > ano || nascimento_valor < 1900) {
alert('Por Favor verifique os dados de nascimento !!!')
} else {
var idade = Number(ano - nascimento_valor)
}
//Recebendo e convertendo os valores
var genero = ''
if (sexo[0].checked) {
genero = 'masculino'
//Criando o elemento <img> para receber as imagens
if (nascimento_valor >= 0 && nascimento_valor <= 10) {
imagem.setAttribute('src', 'crianca-masculino.jpg')
} else if (nascimento_valor >= 11 && nascimento_valor <= 18) {
imagem.setAttribute('src', 'jovem-masculino.jpg')
} else if (nascimento_valor >= 19 && nascimento_valor <= 50) {
imagem.setAttribute('src', 'adulto-masculino.jpg')
} else {
imagem.setAttribute('src', 'idoso-masculino.jpg')
}
} else if (sexo[1].checked) {
genero = 'feminino'
//Criando o elemento <img> para receber as imagens
if (nascimento_valor >= 0 || nascimento_valor <= 10) {
imagem.setAttribute('src', 'crianca-masculino.jpg')
} else if (nascimento_valor >= 11 || nascimento_valor <= 18) {
imagem.setAttribute('src', 'jovem-feminino.jpg')
} else if (nascimento_valor >= 19 || nascimento_valor <= 50) {
imagem.setAttribute('src', 'adulto-feminino.jpg')
} else {
imagem.setAttribute('src', 'idoso-feminino.jpg')
}
} else {
alert('Você esqueceu de marcar o sexo !!!')
}
//Recebendo o texto dinamicamente
texto.innerText = `Você nasceu em ${nascimento_valor}, tem ${idade} anos e gênero ${genero}`
texto.appendChild(imagem)
}
Use && no if. Ever tried? Use Return to finish(stop) the function.
– Maury Developer