Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

form.peso está se referindo ao name ou ID do input?

Durante a aula o instrutor fala que podemos acessar o valor de um input do código pois ele tem um valor armazenado em "name". No código abaixo eu não declarei o name , somente o ID, e o JS leu aparentemente perfeitamente. Como no código da aula tanto "name" quanto "ID" estavam escritos exatamente idênticos então não fez diferença, mas foi suficiente para gerar esta dúvida. Por exemplo, se eu escrever "var peso = form.peso.value" ele estará olhando para o ID e não para o name.

<section class="container">
            <h2 id="titulo-form">Adicionar novo paciente</h2>
            <form id="form-adiciona">
                <div class="grupo">
                    <label for="nome">Nome:</label>
                    <input id="nome" type="text" placeholder="digite o nome do seu paciente" class="campo">
                </div>
                <div class="grupo">
                    <label for="peso">Peso:</label>
                    <input id="peso" type="text" placeholder="digite o peso do seu paciente" class="campo campo-medio">
                </div>
                <div class="grupo">
                    <label for="altura">Altura:</label>
                    <input id="altura" type="text" placeholder="digite a altura do seu paciente" class="campo campo-medio">
                </div>
                <div class="grupo">
                    <label for="gordura">% de Gordura:</label>
                    <input id="gordura" type="text" placeholder="digite a porcentagem de gordura do seu paciente" class="campo campo-medio">
                </div>

                <button id="adicionar-paciente" class="botao bto-principal">Adicionar</button>
            </form>
        </section>
2 respostas
solução!

Oi Victor, tudo certo?

Então, eu acredito que a resposta seria "tanto faz". Porque veja: se tirarmos o id e colocarmos o name, o form.peso continuaria referindo-se ao input, e no vice versa isso também ocorre (caso tirarmos o name para colocar id).

Portanto, acredito que como nós utilizamos o querySelector sem definir nenhum seletor, ele seleciona qualquer um dos dois.

Lembrando que para selecionar com o name:

document.querySelector("form input[name='peso']");

E para selecionar com o id:

document.querySelector("form #peso");

Espero ter ajudado =) Bons estudos!

No curso ele se refere ao name no input, porem o id tambem pode ser usado

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software