O HTML5 disponibiliza o tipo de campo tel, que é projetado para uso em números de telefone.
Seu número de telefone: <input type="tel" name="telefone">
Em smartphones e tablets, ao clicar no campo, abre-se o teclado numérico para inserir o número de telefone.
Campos para endereços da internet com url
Campos do tipo url são destinados à entrada de endereços da internet.
<input type="url" />
Os campos de URL são validados automaticamente. Os navegadores devem verificar se um URL sintaticamente correto foi inserido nesses campos.
Campo de saída com output
O campo output permite a saída de conteúdos. Isso é útil, por exemplo, em conjunto com JavaScript. Assim, este campo aqui pode ser utilizado para a saída de variáveis. Da mesma forma, o campo pode ser usado para a saída de valores calculados. O campo destina-se exclusivamente à saída de dados. Entradas dos usuários não são possíveis.
Um exemplo:
<script>
/* <![CDATA[ */
function ausgabe(){
wort1="Olá,"
wort2="Mundo!"
document.forms[0][0].value=wort1+wort2
}
/* ]]> */
</script>Neste exemplo, duas variáveis foram declaradas. Os conteúdos dessas variáveis devem ser exibidos no campo output.
<body onload="ausgabe()">
<form action="avaliacao.php" method="get" name="form">
<output name="campo" />
</form>
</body>
Navegadores como o Opera exibem o valor desejado. No entanto, navegadores que não conseguem lidar com o output não mostram nada.output possui três atributos.
• form – O formulário em que o elemento output está contido.
• for – Estabelece a relação com os campos ou valores para os quais o campo de saída se refere. Os valores e campos devem ser separados por espaços.
• name – Se um nome for fornecido, o conteúdo do campo será transmitido ao enviar o formulário.
• value – Indica o valor do campo.output também é útil para cálculos matemáticos. Por exemplo, pode-se solicitar valores através de campos de Prompt e depois multiplicá-los entre si.
<!DOCTYPE html>
<html >
<head>
<title>output</title>
<script>
/* <![CDATA[ */
function multi(){
a=parseInt(prompt("Número 1.",0));
b=parseInt(prompt("Número 2.",0));
document.forms["form"]["resultado"].value=a*b;
}
/* ]]> */
</script>
</head>
<body onload="multi()">
<form action="#" method="get" name="form">
<label>O resultado da multiplicação:</label>
<output name="resultado" />
</output>
</form>
</body>
</html>Ao abrir a página, uma janela de Prompt é exibida para solicitar o primeiro valor.
Se a entrada for confirmada com OK, abre-se uma segunda janela. (Se um dos dois janelas clicar em Cancelar, o resultado será NaN,, ou seja, Not a Number).
Ao confirmar a entrada na segunda janela com OK, o script passa o resultado da multiplicação como valor para o campo output.
Barra de progresso com progress
Uma barra de progresso pode ser realizada por meio do elemento progress. Isso é útil, por exemplo, em relação ao download de arquivos..gif)
O Google já interpreta o elemento. Outros navegadores que não conhecem o elemento exibem seu conteúdo.
Um exemplo:
O download está em andamento ...
<progress value="250" max="1000">
<span id="progressoDownload">25</span>%
</progress>
O elemento progress conhece dois atributos:
• máximo – Define quantos passos são necessários no total.
• valor – Aqui é indicado quantos passos já foram concluídos.
O elemento progress se torna realmente interessante com a entrada do JavaScript. Como uma combinação de progress e JavaScript pode ser usada, é melhor demonstrar com um exemplo.
Neste exemplo, considera-se um formulário que deve ser preenchido em várias etapas. As seguintes informações são solicitadas sequencialmente:
• Nome
• Sobrenome
• Rua
• CEP
• Cidade
Agora é possível solicitar esses poucos valores em uma única página. Mas e se muitas informações do usuário precisarem ser obtidas? Nesse caso, formulários extensos podem ser intimidantes. Portanto, é melhor dividir os formulários em várias páginas.
Supondo que você abra o formulário.
Aqui você será solicitado a inserir seu primeiro nome. A barra de progresso abaixo do campo foi implementada usando o elemento progress.
<fieldset id="schritt1" style="display: none;"> <p>Nome: <input type="text" name="vname" size="30"></p> <p><progress max="5" value="1">Passo 1 / 5</progress></p> <p><input type="button" value="Próximo" onclick="naechserSchritt(2)"></p> </fieldset>
Vários elementos são essenciais nessa sintaxe. Os vários elementos fieldset são inicialmente definidos como invisíveis. Mesmo que a princípio não pareça, o formulário é de fato uma única página. Os campos individuais foram inseridos em elementos fieldset separados. E esses elementos fieldset (juntamente com seus conteúdos) não são visíveis.
Para tornar os elementos na verdade ocultos visíveis após clicar nos respectivos botões Próximo, é utilizada uma função JavaScript de switch. Como isso é feito será mostrado mais adiante neste tutorial.
Por enquanto, vamos voltar ao formulário. Ao clicar nos botões Próximo, você será guiado pelo formulário. Durante isso, os elementos progress mostram o progresso realizado.
Não é problema se um navegador não interpreta o elemento progress. Nesses casos, o navegador simplesmente exibe o conteúdo desse elemento.
<progress max="5" value="1">Passo 1 / 5</progress>
Em vez do indicador de progresso, você verá um texto no formato Passo 2 / 5.
O formulário se parece com isso:
<form method="post" action="#"> <fieldset id="schritt1" style="display: none;"> <p>Nome: <input type="text" name="vname" size="30"></p> <p><progress max="5" value="1">Passo 1 / 5</progress></p> <p><input type="button" value="Próximo" onclick="naechsterSchritt(2)"></p> </fieldset> <fieldset id="schritt2" style="display: none;"> <p>Sobrenome: <input type="text" name="nname" size="30"></p> <p><progress max="5" value="2">Passo 2 / 5</progress></p> <p><input type="button" value="Próximo" onclick="naechsterSchritt(3)"></p> </fieldset> <fieldset id="schritt3" style="display: none;"> <p>Endereço: <input type="text" name="strasse" size="30"></p> <p><progress max="5" value="3">Passo 3 / 5</progress></p> <p><input type="button" value="Próximo" onclick="naechsterSchritt(4)"></p> </fieldset> <fieldset id="schritt4" style="display: none;"> <p>CEP: <input type="text" name="plz" size="30"></p> <p><progress max="5" value="4">Passo 4 / 5</progress></p> <p><input type="button" value="Próximo" onclick="naechsterSchritt(5)"></p> </fieldset> <fieldset id="schritt5" style="display: none;"> <p>Cidade: <input type="text" name="ort" size="30"></p> <p><progress max="5" value="5">Passo 5 / 5</progress></p> <input type="submit" value="Final"> </fieldset> </form>
Aqui são três coisas essenciais:
• Cada elemento fieldset recebe uma ID.
• Todos os elementos fieldset são definidos como display: none.
• As funções naechsterSchritt(n) são atribuídas aos botões.
A função naechsterSchritt(n) é definida da seguinte forma:
<script>
/* <![CDATA[ */
function naechsterSchritt(n) {
switch(n) {
case 1:
document.getElementById('schritt1').style.display = "block";
break;
case 2:
document.getElementById('schritt1').style.display = "none";
document.getElementById('schritt2').style.display = "block";
break;
case 3:
document.getElementById('schritt2').style.display = "none";
document.getElementById('schritt3').style.display = "block";
break;
case 4:
document.getElementById('schritt3').style.display = "none";
document.getElementById('schritt4').style.display = "block";
break;
case 5:
document.getElementById('schritt4').style.display = "none";
document.getElementById('schritt5').style.display = "block";
break
default: break;
}
}
naechsterSchritt(1);
/* ]]> */
</script>
Esta função exibe o elemento fieldset atual e oculta os outros elementos fieldset. Certifique-se de definir a função após a definição dos campos. Portanto, é melhor colocá-la após o fechamento do <form>.