2
respostas

Problemas com IF e limpar

Olá, eu estou com duas dúvidas em relação ao meu código JS. 1) Como eu vou poder indicar com IFum valor de um determinado input é nulo (null)? 2) Como eu posso indicar para após feita 1 operação, limpar a primeira para dar espaço a segunda utilizando JQuery?

HTML:

<!DOCTYPE html>
<html>
<head>
    <title>MULTIPLICAÇÃO</title>
    <meta charset="utf-8">
</head>
<body>
    <fieldset>
        <form id="form">
            <label>Primeiro Número</label>
            <input type="number" name="n1" id="n1">
            <label>Segundo Número</label>
            <input type="number" name="n2" id="n2">
            <button id="botao">Multiplicar</button>
            <div id="resultado"></div>
        </form>
    </fieldset>
</body>
</html>

JS

        $("#botao").click(function(){
            event.preventDefault();

            var div = $("#resultado");
            var formx = $("#form");
            var n1 = formx.children('input[name="n1"]').val();    
            var n2 = formx.children('input[name="n2"]').val();    

            var resultado = parseFloat(n1)*parseFloat(n2);
            var resposta = "<p> Resultado: " + n1 + "x" + n2 + " = " + resultado + "</p>";
            div.append(resposta);
        });
2 respostas

Fala aí Lucas, beleza? Vamos lá:

  1. Para verificar se uma determinada variável é nula ou não dentro do if, umas das maneiras pode ser assim:
const variavelNull = null
if (variavelNull) {
    console.log('Não é nula')
}

Por padrão, se o valor for null o if entende como false nessa situação, caso queira entrar no if quando for nula, você pode realizar a negação:

const variavelNull = null
if (!variavelNull) {
    console.log('É nula')
}

Sobre a segunda dúvida, eu não entendi, poderia explicar com mais detalhes?

Espero ter ajudado.

Oi, no primeiro caso, eu tentei inserir no meu código, porém eu estou com o seguinte problema: eu inseri o seu cód, e, ele identificou que um dos campos estava vazio quando estava só ele..Mas ai e coloquei um else para ele realizar o cálculo se caso os campos estivessem corretamente preenchidos, porém ele não conseguiu identificar que os dois campos estavam preenchidos e ele realizou oq deveria realizar quando um estivesse não preenchido

        $("#botao").click(function(){
            event.preventDefault();
            var div = $("#resultado");
            const variavelNull = null
            if (!variavelNull) {
                div.append("Preencha todos os campos!");
            }else{
                var formx = $("#form");
                var n1 = formx.children('input[name="n1"]').val();    
                var n2 = formx.children('input[name="n2"]').val();    

                var resultado = parseFloat(n1)*parseFloat(n2);
                var resposta = "<p> Resultado: " + n1 + "x" + n2 + " = " + resultado + "</p>";
                div.append(resposta);
            }
        });

Gostaria de saber oq eu errei nessa primeira parte Agora na segunda dúvida que eu tinha era: quando realiza-se um cálculo de multiplicação, a conta fica na página e se o user realizar outra o primeiro cálculo que foi feito continua lá. Gostaria de ao invés de aparecer o primeiro cálculo que foi feito, caso o user querer realizar outro, o JQuery: 1) Reconhecer se foi feito mais de um cálculo e 2) Caso foi feito mais um cálculo, ele apagar para o primeiro para dar lugar ao segundo e, assim sucessivamente.