window.alert('mensagenzinha feia'); // retorna undefined
window.document: Acesso ao DOM (estrutura HTML da página)window.navigator: Acesso a características do navegador como geolocalização,
reconhecimento de fala etc.window.Math: Funções matemáticas, como Math.sin, Math.floor, Math.roundwindow.location: Informações sobre o endereço (a URL) da páginastyle:
botaoEl.style.width = '80%'; // define largura como 80%
botaoEl.style.paddingTop = '2px'; // padding-top vira paddingTop
background-color ➡️ backgroundColor border-radius ➡️ borderRadiusmargin ➡️ margine.pageX e e.pageYinput e alguns tipos:
labeltextarea<input id="palavra" type="text" placeholder="Digite..."> <!-- exemplo abaixo -->
<input id="palavra">
<input>
type="text" é o valor padrão para o inputplaceholder="um texto..." define um texto de ajuda que só aparece
quando não há nada digitado<label></label>) aos campos (input)
input
a ele associado<label for="cidade">Cidade: </label><input id="cidade">
<!-- ...ou... -->
<label>Cidade:
<input id="cidade">
</label>
<label>Remetente:
<input id="remetente" type="email">
</label>
<input type="search">:
<input type="url">:
<input type="tel">:
<input type="number" step="0.5">
<input type="range" min="0" max="100" step="1">
<input type="color">
number é indicado para digitação de um número específico range para uma escala (e.g., quente ou frio?)
number e range aceitam min, max e step (incremento)color para pegar o valor hexadecimal de uma cor<input type="date">
<input type="time">
<input type="datetime-local">
<input type="month">
<input type="week">
date é apenas uma data, time apenas um horáriodatetime-local é um dia/horário<input> possui o atributo value, que é o valor padrão.
Exemplo:
<input type="number" value="5">:
value:
let quantidadePizzasEl = document.querySelector('#qtde-pizzas');
// podemos pegar o valor atual no console acessando .value:
let qtdePizzasAtual = quantidadePizzasEl.value; // botão 1
alert(qtdePizzasAtual);
// ou podemos definir um novo valor para o elemento:
quantidadePizzasEl.value = 25; // botão 2
input do tipo checkboxinput do tipo radioselect e suas options<label>
<input id="emails" type="checkbox" value="sim"> Inscrever?
</label>
!! Se não colocarmos um <label></label>, o usuário precisará
clicar exatamente na caixinha
checked, para deixar previamente marcado
<input id="..." type="checkbox" checked>
<label>
<input type="radio" name="cor" value="azul">Azul
</label>
<label>
<input type="radio" name="cor" value="verde">Verde
</label>
name: define qual é o nome do input ao enviar o fomulário para o servidor <input> têm o mesmo name
Formato:
<label for="sabor">Sabor da pizza:</label>
<select id="sabor">
<option value="marg">Marguerita</option>
<option value="muzza" selected>Frango</option>
</select>
selected, para o option, para deixar selecionadomultiple, para o select, para permitir mais de um optioncheckbox está marcado:
let desejaInscreverEl = document.querySelector('#inscrever');
let estaMarcado = desejaInscreverEl.checked; // elemento.checked: true/false
select:
let saborPizzaEl = document.querySelector('#pizza');
let sabor = saborPizzaEl.value; // elementoSelect.value: valor da option
radio:
let corMarcadaEl = document.querySelector('[name="cor"]:checked');
let cor = corMarcadaEl.value; // elemento.value: valor do input
name="cor" e que esteja no estado :checked (marcado) | Tipo | Markup | Exemplo |
|---|---|---|
| Seleção de arquivo | <input type="file"> |
|
| Campo de senha | <input type="password"> |
|
| Texto oculto | <input type="hidden"> |
|
| Texto multi-linha | <textarea></textarea> |
<form></form> <form>...</form>Um formulário é um conjunto de campos de dados (i.e., entrada/escolha) que pode ser enviado a um servidor Web. Exemplos:
Ao se cadastrar no Facebook (ou qualquer site)
Além de enviar os dados, podemos também configurar os campos com algumas restrições (e.g., campo obrigatório)
<form action="cadastrar-usuario.php"> <!-- que "página" receberá os dados -->
<label>Nome: <input name="nome" type="text"></label>
<label>E-mail: <input name="email" type="email"></label>
<label>Senha: <input name="senha" type="password"></label>
<button type="submit">Enviar</button> <!-- veja no próximo -->
<button type="reset">Limpar</button> <!-- slide -->
</form>
type="submit" envia os dados para
o servidor:
<button type="submit">
<img src="icone.png">Cadastrar <!-- podemos colocar ícones nos botões =) -->
</button>
type="reset" volta os valores digitados para
seus value padrão
<button type="reset">Limpar</button> <!-- muito pouco usado -->
<button type="button">Ver detalhes</button> <!-- type="button" é o padrão -->
required para marcar um campo como
de preenchimento obrigatório:
<form action="verifica-login.php">
<label>Digite seu login:
<input type="text" id="usuario" required>
<input type="password" id="senha" required>
</label>
<button type="submit">Entrar</button>
</form>
| Tipo | Código HTML | Exemplo |
|---|---|---|
| Campo obrigatório | <input required> |
|
| Quantidade de caracteres | <input maxlength="2"> |
|
| Número mínimo | <input type="number" min="5"> |
|
| Número máximo | <input type="number" max="10"> |
|
| Padrão | <input pattern="[0-7]{4}"> |
|
| Desabilitar | <input disabled> |
change ou input (modificou)blur (perdeu foco)focus (ganhou foco)keydown (pressionou uma tecla)keyup (liberou uma tecla)(Muitos) outros tipos: Eventos na MDN
text, number, email etc.) podem ser
facilmente estilizados. Exemplos:
input[type="number"] { /* todos os campos de números */
width: 4em; /* largura de 4 caracteres */
}
input[disabled], /* todos que estejam disabled */
button[disabled] {
cursor: not-allowed;
opacity: 0.65;
}
input.discreto { /* criei uma classe */
background-color: transparent;
border-width: none; /* tira o fundo e a borda */
}
input:focus { /* elemento que está com o foco */
outline: 3px solid LightSkyBlue;
}
input:invalid { /* elementos com erro */
border: 1px solid red;
}