Formulário II – Mão na massa…

Depois de conhecer as tags que iremos utilizar, esta é a hora de utilizá-las na marcação de nosso formulário. Existem n formas de fazer a marcação de formulários e certamente não poderei descrever todas elas aqui. Neste post abordarei algumas práticas que utilizo, lembrando sempre que cada caso deverá ser analisado, pois nenhuma das soluções descritas a seguir atua em caráter imperativo.

Antes de irmos pra marcação é necessário abordar alguns pontos, para facilitar a compreensão do código:

No formulário teremos três grupos de dados. Cada grupo será delimitado por um fieldset que possui um título associado a ele através da tag legend.

Inputs do tipo radio são utilizados quando desejarmos que o usuário escolha apenas uma das alternativas ofertadas, tal tratamento é feito atribuindo o mesmo nome (propriedade name) a todos os inputs que pertencerem ao mesmo grupo.

Inputs do tipo checkbox devem ser utilizados quando o usuário puder escolher mais de uma das opções disponíveis; checkbox que pertençam ao mesmo grupo devem possuir o mesmo nome (propriedade name). Na nomeação dos inputs foram utilizados colchetes [] junto ao nome (propriedade name) para que possamos recuperar os dados enviados pelo checkbox como um array no php.

A tag label é utilizada pra criar um rótulo para os elementos dos formulários, e uma conseqüência de seu uso correto é o direcionamento do foco ou do cursor para o respectivo elemento quando o usuário clica em seu rótulo. Para que isso aconteça o relacionamento entre label e campo pode ser feito de duas formas: deixando o campo fora da label e fazendo uso do atributo for (tal propriedade terá como valor o id do campo com que o label se relaciona), ou colocando o campo dentro do label (associação implícita) o que faz com que ele receba automaticamente o link com o rótulo correspondente. A associação implícita é geralmente utilizada quando se tem a consciência que o rótulo possui grande expressividade dentro do formulário, quando o elemento por ser pequeno necessita que o usuário tenha demasiada destreza com o mouse para preenche-lo ou quando diante da numerosidade de elementos torna-se inviável a criação de seus identificadores(ids).

A recuperação no php de um dado presente em um determinado campo quando o formulário é submetido é feita através da referência ao seu nome,  que é o valor atribuído a propriedade name. Portanto cada campo deverá ter um name para que seja possível capturar seus dados com php.

A propriedade value representa o valor que o campo adquire quando os dados são submetidos, portanto em tags como o select ou um conjunto de inputs (partilham o mesmo name) do tipo radio o valor associado ao name será correspondente a opção que estiver marcada.

Em inputs do tipo submit e reset a propriedade value representa texto que será escrito no corpo do botão.

As tags Button e textarea não possuem a propriedade value, pois o valor que será enviado encontra-se entre suas tags de abertura e fechamento.

As tags que constroem os campos de nosso formulário são tags inline, e por isso não apresentam quebra de linha em seu inicio e fim.  Devido a isto muitas literaturas, inclusive em textos do W3C, há a utilização de tags de parágrafo (ou outras tags menos apropriadas) para definir linhas dentro do formulário ou para agrupar seus elementos. No entanto, tendo em vista que o form é uma tag de bloco e o fieldset também, acredito que os elementos que se encontrarem dentro de tais tags já estarão em blocos definidos sem que seja obrigatório a criação de blocos internos.

Dito isto vamos para prática segue o HTML:

<form id="form_base" method="get" action="">

<fieldset id="dpessoal">
 <legend>Dados Pesoais</legend>
 <label for="nome">Nome: </label>
 <input type="text" name="nome" id="nome" /><br />
 <label for="endereco">Endereço: </label>
 <input type="text" name="endereco" id="endereco" /><br />
 <label for="email">Email: </label>
 <input type="text" name="email" id="email" /><br />
 <label for="esco">Escolaridade: </label>
 <select name="esco" id="esco">
  <option value="basico">Nível Básico</option>
  <option value="medio">Nível Médio</option>
  <option value="superior">Nível Superior</option>
 </select><br />
 <label for="observacoes">Observações: </label>
 <textarea name="observacoes" id="observacoes"></textarea><br />
</fieldset>

<fieldset class="escolha">
 <legend>Natureza do Cargo</legend>
 <label>
  <input type="radio" name="cargo" value="gerencia"/> Gerência
 </label>
 <label>
  <input type="radio" name="cargo" value="financeiro"/> Financeiro
 </label>
 <label>
  <input type="radio" name="cargo" value="recepcao"/> Recepção
 </label>
 <label>
  <input type="radio" name="cargo" value="administrativo"/> Administrativo
 </label>
 <label>
  <input type="radio" name="cargo" value="juridico"/> Jurídico
 </label>
 <label>
  <input type="radio" name="cargo" value="outros"/> Outros
 </label>
</fieldset>

<fieldset class="escolha">
 <legend>Área de Interesse</legend>
 <label>
  <input type="checkbox" name="check[]" value="computacao"/> Computação
 </label>
 <label>
  <input type="checkbox" name="check[]" value="biologia" /> Biologia
 </label>
 <label>
  <input type="checkbox" name="check[]" value="comunicacao" /> Comunicação
 </label>
 <label>
  <input type="checkbox" name="check[]" value="meio-ambiente" /> Meio Ambiente
 </label>
 <label>
  <input type="checkbox" name="check[]" value="engenharia" /> Engenharia
 </label>
 <label>
  <input type="checkbox" name="check[]" value="historia" /> História
 </label>
 <label>
  <input type="checkbox" name="check[]" value="psicologia" /> Psicologia
 </label>
</fieldset>

<input type="submit" value="Enviar" />
<input type="reset" value="Limpar" />

</form>

O código acima será renderizado da seguinte forma:

HTML básio base para marcação de formulários

HTML básio base para marcação de formulários (Opera 9.62)

Agora que já temos nossa marcação nós podemos começarmos a formatá-la, mas só iremos fazer isso no próximo post.

Posts da série formulário:
Formulário I – Conhecendo as Tags
Formulário II – Mão na massa…
Formulário III – Formatação

Você também vai gostar de ler:


Tags: , ,

 
 
 

Você também vai gostar de ler:

2 Responses to “Formulário II – Mão na massa…”

  1. Gravatar of Conhecendo as Tags de Marcação de Formulário | Geração Beta Conhecendo as Tags de Marcação de Formulário | Geração Beta
    20. agosto 2009 at 09:25

    [...] Depois de conhecermos as tags vamos agora obsevar como utilizá-las na marcação.Este é o assunto de nosso próximo post: Formulário II – Mão na massa…. [...]

  2. Gravatar of HELKES HELKES
    26. fevereiro 2010 at 12:05

    estou fazendo inputy type radio e queria que me ajudasse a fazer essa função função calculase so uma e dar alerta do valor da nota, já tentei muitas mas nenhuma roda o sistema

    (2) (UFRS) Em determinada formação vegetal brasileira, o estudo
    das relações solo/vegetação evidenciou que o aspecto característico das
    plantas que a forma se deve NÃO a falta de água (apesar de uma estação
    seca pronunciada, há razoável umidade no solo a partir de dois metros de
    profundidade), e sim a um solo pobre em nutrientes, ácido e com um alto teor
    de alumínio, o que provoca o denominado" escleremorfismo oligotrófico
    aluminotóxico:

    O texto acima se refere a que tipo de vegetação?

    (A) Cerrado.
    (B) Caatinga.
    (C) Mata de restinga.
    (D) Mata com araucária.
    (E) Campo rupestre.

    function calcula(form) {

Deixe um Comentário