2
I would like to validate a list using Javascript only. If the item is already in the list an alert should appear with the position of the item and if the item is not in the list should be included.
The current problem is that when executing the code Alert is running even the first time the item appears and if I try to inform a second time it still enters the list. see:
<meta charset="utf-8"/>
<h1>Lista de casamento</h1>
Digite o nome do convidado: <br>
<input type="text" id="campoConvidado">
<button onclick="listaConvidados();">Adicionar</button>
<hr><br>
<p id="quantidadeConvidado">No momento sua lista está com [0] convidado(s)</p>
<script>
var lista= [];
//criei uma única função para alinhar a lista no html e fazer as validações
function listaConvidados()
{
var recebeNome= campoConvidado.value;
lista.push(recebeNome);
quantidadeConvidado.innerHTML= `No momento sua lista está com [${lista.length}] convidado(s)<br>
<br> Nomes: <br>
<ol>
<li>
${lista.join("</li><br><li>")}
</li>
</ol>`
if(recebeNome.trim()=="") //aqui quero que caso seja um campo em branco apareça o alerta a baixo.
{
alert("digite um nome para inserir na lista")
}
if (lista.includes(recebeNome) == false) // Inclui o novo item na lista
{
}
else
{
var posicao = lista.indexOf(recebeNome);
alert("Nome informado já está na sua lista. Ele é o convidado de número [" + (posicao+1)+"]");
}
}
</script>
I’d appreciate it if someone would be so patient as to explain it to me.
Thank you very much for the light. After a while reviewing the code I had not seen it. what I lacked was the logic in this case. I was inserting and then validating, when it was just making the opposite order. Again thank you for the help.
– Almeida
@Almeida No problem, we’re here to help :)
– Isac