<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Projetista Digital &#187; tags html head body</title>
	<atom:link href="http://www.projetistadigital.com/tag/tags-html-head-body/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.projetistadigital.com</link>
	<description>Projetando pra web. Projetando a web.</description>
	<lastBuildDate>Thu, 23 Jul 2009 15:18:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Minicurso de HTML: Parte XII – Formulários Web: mais alguns elementos e atributos</title>
		<link>http://www.projetistadigital.com/2009/07/minicurso-de-html-parte-xii-%e2%80%93-formularios-web-mais-alguns-elementos-e-atributos/</link>
		<comments>http://www.projetistadigital.com/2009/07/minicurso-de-html-parte-xii-%e2%80%93-formularios-web-mais-alguns-elementos-e-atributos/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 08:00:16 +0000</pubDate>
		<dc:creator>Diego Marques</dc:creator>
				<category><![CDATA[WebStandards (Padrões Web)]]></category>
		<category><![CDATA[XHTML & HTML]]></category>
		<category><![CDATA[agrupar options]]></category>
		<category><![CDATA[atributo id]]></category>
		<category><![CDATA[atributo name]]></category>
		<category><![CDATA[atributo value]]></category>
		<category><![CDATA[botões formulários web]]></category>
		<category><![CDATA[button]]></category>
		<category><![CDATA[caixa de texto várias linhas]]></category>
		<category><![CDATA[campo upload de arquivo]]></category>
		<category><![CDATA[campos de formulário somente leitura]]></category>
		<category><![CDATA[campos de senha]]></category>
		<category><![CDATA[checkbox checked]]></category>
		<category><![CDATA[checkbox marcado]]></category>
		<category><![CDATA[checkbox preenchido]]></category>
		<category><![CDATA[curso online de html]]></category>
		<category><![CDATA[desabilitar campos de formulário]]></category>
		<category><![CDATA[disabled]]></category>
		<category><![CDATA[dividindo o formulário]]></category>
		<category><![CDATA[fieldset]]></category>
		<category><![CDATA[formulário web]]></category>
		<category><![CDATA[formulários html]]></category>
		<category><![CDATA[HTML & XHTML]]></category>
		<category><![CDATA[html para iniciantes]]></category>
		<category><![CDATA[introdução ao html]]></category>
		<category><![CDATA[juntar options]]></category>
		<category><![CDATA[label]]></category>
		<category><![CDATA[legend]]></category>
		<category><![CDATA[legenda formulário]]></category>
		<category><![CDATA[option selecionado]]></category>
		<category><![CDATA[option selected]]></category>
		<category><![CDATA[readonly]]></category>
		<category><![CDATA[select]]></category>
		<category><![CDATA[tag form]]></category>
		<category><![CDATA[tags html head body]]></category>
		<category><![CDATA[textarea]]></category>
		<category><![CDATA[tutorial básico html]]></category>
		<category><![CDATA[tutorial iniciante html]]></category>

		<guid isPermaLink="false">http://www.projetistadigital.com/?p=183</guid>
		<description><![CDATA[Olá Pessoal,
Continuando com o assunto formulários web, falaremos hoje sobre mais alguns elementos e atributos, e dicas para criação de formulários acessíveis. Aproveitem bem o conteúdo e estudem com calma:
Elementos FIELDSET e LEGEND
No decorrer da nossa vida como profissionais de web (designers, programadores de interfaces, desenvolvedores etc.), construiremos desde simples formulários de contato, até complexos [...]]]></description>
			<content:encoded><![CDATA[<p>Olá Pessoal,</p>
<p>Continuando com o assunto formulários web, falaremos hoje sobre mais alguns elementos e atributos, e dicas para criação de formulários acessíveis. Aproveitem bem o conteúdo e estudem com calma:</p>
<h3>Elementos FIELDSET e LEGEND</h3>
<p>No decorrer da nossa vida como profissionais de web (designers, programadores de interfaces, desenvolvedores etc.), construiremos desde simples formulários de contato, até complexos e extensos formulários de cadastro ou compra de produtos. E em todos os casos teremos a necessidade de agrupar os elementos de um formulário conforme características relacionadas.  Já imaginou um formulário de cadastro onde os campos para dados pessoais se misturassem com os campos para dados profissionais, ou escolares? Sem uma distinção clara entre cada grupo de campos o formulário seria uma zona, aumentando em muito o tempo levado para preenchê-lo e a taxa de usuários que desistiriam.</p>
<p>Para agrupar os campos de um formulário com características comuns, utilizamos o elemento FIELDSET. Todos os campos serão englobados pelas tags &lt;fieldset&gt;&lt;/fieldset&gt;. Visualmente o elemento FIELDSET criará uma borda em torno dos elementos nele contidos, criando um bloco de conteúdo isolado de outros elementos. Se nosso formulário possuir vários elementos FIELDSET, teremos então várias caixas de elementos, separadas umas das outras. Cada elemento FIELDSET pode possuir uma legenda, ou seja, um texto indicando ao que se referem os elementos contidos nele (Ex: Dados Pessoais, Dados Escolares, Dados Residenciais, Dados Profissionais etc.). Essas legendas são marcadas pela tag LEGEND &#8211;  &lt;legend&gt;&lt;/legend&gt;. Veja um exemplo dos elementos FIELDSET e LEGEND:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
   &lt;fieldset&gt;
         &lt;legend&gt;Formulário de Contato&lt;/fieldset&gt;
         &lt;label for=&quot;nome&quot;&gt;Nome:&lt;/label&gt; &lt;input type=&quot;text&quot; id=&quot;nome&quot; /&gt;&lt;br /&gt;
         &lt;label for=&quot;email&quot;&gt;Email:&lt;/label&gt; &lt;input type=&quot;text&quot; id=&quot;email&quot; /&gt;&lt;br /&gt;
         &lt;label for=&quot;masc&quot;&gt;MASC:&lt;/label&gt; &lt;input type=&quot;radio&quot; name=&quot;masc&quot; /&gt; &lt;label for=&quot;fem&quot;&gt;FEM&lt;/label&gt; 
         &lt;input type=&quot;radio&quot; name=&quot;sexo&quot; id=&quot;fem&quot; /&gt;&lt;br /&gt;
         &lt;label for=&quot;news&quot;&gt;Deseja receber nossa newsletter:&lt;/label&gt; &lt;input type=&quot;checkbox&quot; /&gt;&lt;br /&gt;
         &lt;label for=&quot;como&quot;&gt;Como nos conheceu:&lt;/label&gt; 
         &lt;select id=&quot;como&quot;&gt;
            &lt;option&gt;Google&lt;/option&gt;
            &lt;option&gt;Indicação de amigo&lt;/option&gt;
            &lt;option&gt;Outros&lt;/option&gt;
         &lt;/select&gt;&lt;br /&gt;
         &lt;label for=&quot;msg&quot;&gt;Mensagem:&lt;/label&gt; &lt;textarea cols=&quot;7&quot; rows=&quot;40&quot; id=&quot;msg&quot;&gt;&lt;/textarea&gt;
         &lt;button type=&quot;submit&quot;&gt;Enviar&lt;/button&gt;
   &lt;/fieldset&gt;  
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
   <fieldset><br />
         <legend>Formulário de Contato</fieldset><br />
         <label for="nome">Nome:</label><br />
<input type="text" id="" />
         <label for="email">Email:</label><br />
<input type="text" id="" />
         <label for="masc">MASC:</label><br />
<input type="radio" name="masc" /> <label for="fem">FEM</label> </p>
<input type="radio" name="sexo" id="fem" />
         <label for="news">Deseja receber nossa newsletter:</label><br />
<input type="checkbox" />
         <label for="como">Como nos conheceu:</label> </p>
<select id="como">
            <option>Google</option><br />
            <option>Indicação de amigo</option><br />
            <option>Outros</option><br />
         </select>
<p>
         <label for="msg">Mensagem:</label> <textarea cols="7" rows="40" id="msg"></textarea><br />
         <button type="submit">Enviar</button><br />
   </fieldset><br />
</form>
<p>Antes de prosseguir, façam o seguinte exercício:</p>
<p>Entrem na <a href="http://www.mercadolivre.com.br/jm/reg" target="_blank" title="Página de Cadastro do Mercado Livre">página de cadastro do Mercado Livre</a> e observem o formulário: esqueçam o layout e diagramação, e reconstruam esse formulário separando os elementos por FIELDSET e LEGEND (Dados Pessoais e Dados do Usuário no Mercado Livre).</p>
<h3>Atributos NAME, ID e VALUE</h3>
<p>Quem tem nos acompanhado desde o primeiro post sobre formulários, tem visto que utilizo em  alguns momentos os atributos NAME, ID e VALUE, e sempre prometo que irei explicá-los “mais pra frente”. Pois bem, “mais pra frente” é agora! <img src='http://www.projetistadigital.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Qualquer controle de formulário (INPUT, SELECT, TEXTAREA, BUTTON) permite ao usuário passar informações para o nosso site, e essas informações serão enviadas para algum script (em PERL, CGI, PHP, ASP.NET, JAVA etc.) que receberá os dados, verificá-los e por fim dará um fim ao formulário (envio por email, inserção num banco de dados etc.). Ok, mas como esse script saberá qual foi o valor digitado pelo usuário num campo de texto, por exemplo? Simples: quando clicamos no botão ENVIAR, mandamos uma espécie de catálogo de dados, onde cada campo do formulário corresponde a uma ficha desse catálogo. Essa ficha, por sua vez, é dividida em duas partes: índice (uma forma de referenciar o campo, e diferenciá-lo) e conteúdo (o valor digitado pelo usuário). Sabemos o que é o conteúdo, mas o que são os índices? O atributo NAME funciona como índice de um campo do formulário, ou seja, é o NAME do elemento que será referenciado pelo script responsável por processar o formulário.</p>
<p>Vários elementos HTML admitem o uso do atributo NAME (lembrem-se que utilizamos NAME para criação de links âncoras), assim como o atributo ID. Ambos os atributos tem uma única função: identificar um elemento. Simples assim! No caso dos controles de formulário, o atributo NAME tem uma função de integração com linguagens de programação para o tratamento de dados; assim como tanto NAME e ID podem ser usados como referência de elementos para JavaScript, CSS etc. </p>
<p>Ok! Qual é a diferença entre NAME e ID? O atributo ID funciona como “o CPF do elemento”, ou seja, não podem haver dois ou mais elementos, na mesma página, com o mesmo ID. Já o atributo NAME admite repetição, podemos ter vários elementos com o mesmo NAME. Por isso o elemento LABEL se vincula ao campo de formulário através do atributo ID&#8230; Veja um formulário com ambos os atributos ID e NAME:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
   &lt;fieldset&gt;
         &lt;legend&gt;Formulário de Contato&lt;/fieldset&gt;
         &lt;label for=&quot;nome&quot;&gt;Nome:&lt;/label&gt; &lt;input type=&quot;text&quot; id=&quot;nome&quot; name=&quot;nome&quot; /&gt;&lt;br /&gt;
         &lt;label for=&quot;email&quot;&gt;Email:&lt;/label&gt; &lt;input type=&quot;text&quot; id=&quot;email&quot; name=&quot;email&quot; /&gt;&lt;br /&gt;
         &lt;label for=&quot;masc&quot;&gt;MASC:&lt;/label&gt; &lt;input type=&quot;radio&quot; name=&quot;masc&quot; /&gt; &lt;label for=&quot;fem&quot;&gt;FEM&lt;/label&gt; &lt;input type=&quot;radio&quot; name=&quot;sexo&quot; id=&quot;fem&quot; /&gt;&lt;br /&gt;
         &lt;label for=&quot;news&quot;&gt;Deseja receber nossa newsletter:&lt;/label&gt; &lt;input type=&quot;checkbox&quot; name=&quot;news&quot; id=&quot;news&quot; /&gt;&lt;br /&gt;
         &lt;label for=&quot;como&quot;&gt;Como nos conheceu:&lt;/label&gt; 
         &lt;select id=&quot;como&quot; name=&quot;como&quot;&gt;
            &lt;option&gt;Google&lt;/option&gt;
            &lt;option&gt;Indicação de amigo&lt;/option&gt;
            &lt;option&gt;Outros&lt;/option&gt;
         &lt;/select&gt;&lt;br /&gt;
         &lt;label for=&quot;msg&quot;&gt;Mensagem:&lt;/label&gt; &lt;textarea cols=&quot;7&quot; rows=&quot;40&quot; id=&quot;msg&quot; name=&quot;msg&quot;&gt;&lt;/textarea&gt;
         &lt;button type=&quot;submit&quot;&gt;Enviar&lt;/button&gt;
   &lt;/fieldset&gt;  
&lt;/form&gt;</pre></td></tr></table></div>

<p>Muitos de vocês já viram formulários web que apresentam algum conteúdo dentro da caixa de texto, normalmente uma instrução de preenchimento. E nesse momento devem se perguntar: como posso fazer isso? Simples: basta adicionar o atributo VALUE em seus elementos. Veja como funciona:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
   &lt;fieldset&gt;
         &lt;legend&gt;Formulário de Contato&lt;/fieldset&gt;
         &lt;label for=&quot;nome&quot;&gt;Nome:&lt;/label&gt; &lt;input type=&quot;text&quot; id=&quot;nome&quot; name=&quot;nome&quot; value=&quot;Digite seu nome..&quot; /&gt;&lt;br /&gt;
         &lt;label for=&quot;email&quot;&gt;Email:&lt;/label&gt; &lt;input type=&quot;text&quot; id=&quot;email&quot; name=&quot;email&quot;  value=&quot;Digite seu email...&quot; /&gt;&lt;br /&gt;
         &lt;label for=&quot;masc&quot;&gt;MASC:&lt;/label&gt; &lt;input type=&quot;radio&quot; name=&quot;masc&quot; id=&quot;masc&quot; value=&quot;masc&quot; /&gt; &lt;label for=&quot;fem&quot;&gt;FEM&lt;/label&gt; &lt;input type=&quot;radio&quot; name=&quot;sexo&quot; id=&quot;fem&quot; value=&quot;fem&quot; /&gt;&lt;br /&gt;
         &lt;label for=&quot;news&quot;&gt;Deseja receber nossa newsletter:&lt;/label&gt; &lt;input type=&quot;checkbox&quot; name=&quot;news&quot; id=&quot;news&quot; value=&quot;&quot; /&gt;&lt;br /&gt;
         &lt;label for=&quot;como&quot;&gt;Como nos conheceu:&lt;/label&gt; 
         &lt;select id=&quot;como&quot; name=&quot;como&quot;&gt;
            &lt;option&gt;Google&lt;/option&gt;
            &lt;option&gt;Indicação de amigo&lt;/option&gt;
            &lt;option&gt;Outros&lt;/option&gt;
         &lt;/select&gt;&lt;br /&gt;
         &lt;label for=&quot;msg&quot;&gt;Mensagem:&lt;/label&gt; &lt;textarea cols=&quot;7&quot; rows=&quot;40&quot; id=&quot;msg&quot; name=&quot;msg&quot;&gt;O elemento textarea não possui o atributo VALUE&lt;/textarea&gt;
         &lt;button type=&quot;submit&quot;&gt;Enviar&lt;/button&gt;
   &lt;/fieldset&gt;  
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
   <fieldset><br />
         <legend>Formulário de Contato</fieldset><br />
         <label for="nome">Nome:</label><br />
<input type="text" id="nome" name="nome" value="Digite seu nome.." />
         <label for="email">Email:</label><br />
<input type="text" id="email" name="email"  value="Digite seu email..." />
         <label for="masc">MASC:</label><br />
<input type="radio" name="masc" id="masc" value="masc" /> <label for="fem">FEM</label><br />
<input type="radio" name="sexo" id="fem" value="fem" />
         <label for="news">Deseja receber nossa newsletter:</label><br />
<input type="checkbox" name="news" id="news" value="" />
         <label for="como">Como nos conheceu:</label> </p>
<select id="como" name="como">
            <option value="google">Google</option><br />
            <option value="amigo">Indicação de amigo</option><br />
            <option value="outros">Outros</option><br />
         </select>
<p>
         <label for="msg">Mensagem:</label> <textarea cols="7" rows="40" id="msg" name="msg">O elemento textarea não possui o atributo VALUE</textarea><br />
         <button type="submit">Enviar</button><br />
   </fieldset><br />
</form>
<p>Reparem que mesmo não exibindo nenhum texto na tela, usamos o atributo VALUE nos elementos INPUT RADIO, INPUT CHECKBOX e OPTION. Esses controles permitem ao usuário escolher uma ou mais opções, dentre uma lista, e o conteúdo do atributo VALUE será o valor enviado para o script de processamento do formulário, assim que o mesmo for disparado.</p>
<h3>Atributos CHECKED e SELECTED</h3>
<p>Podemos também apresentar um elemento INPUT CHECKBOX (aquelas caixinhas onde marcamos / desmarcamos com um clique) já preenchido, por padrão. Para isso basta adicionar o atributo CHECKED no elemento.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
   &lt;label for=&quot;news&quot;&gt;Deseja receber nossa newsletter:&lt;/label&gt; &lt;input type=&quot;checkbox&quot; name=&quot;news&quot; id=&quot;news&quot; value=&quot;news&quot; checked=&quot;checked&quot; /&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
   <label for="news">Deseja receber nossa newsletter:</label><br />
<input type="checkbox" name="news" id="news" value="news" checked="checked" />
</form>
<p>Da mesma forma podemos escolher um elemento OPTION para aparecer selecionado, por padrão, dentro de um SELECT. Basta adicionar, ao OPTION, o atributo SELECTED. Veja como fica:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
   &lt;select id=&quot;como&quot; name=&quot;como&quot;&gt;
       &lt;option value=&quot;google&quot;&gt;Google&lt;/option&gt;
       &lt;option value=&quot;amigo&quot;&gt;Indicação de amigo&lt;/option&gt;
       &lt;option value=&quot;outros&quot; selected=&quot;selected&quot;&gt;Outros&lt;/option&gt;
   &lt;/select&gt; 
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
<select id="como" name="como">
       <option value="google">Google</option><br />
       <option value="amigo">Indicação de amigo</option><br />
       <option value="outros" selected="selected">Outros</option><br />
   </select>
</form>
<h3>Atributos READONLY e DISABLED</h3>
<p>Existem situações em que o usuário não pode manipular um elemento de formulário. Imagine que você tem alguns campos para compor o endereço do usuário, e o usuário não poderá digitar diretamente o endereço, precisará primeiro preencher o CEP, e aí será feita uma consulta na base de endereços completando os demais campos (rua, cidade, estado etc.); ou então, você quer manter o botão de envio do formulário desabilitado, enquanto alguns campos não forem preenchidos. Enfim, não importa o seu motivo, se for necessário desativar elementos de um formulário, utilizaremos os atributos READONLY ou DISABLED.</p>
<p>READONLY é um atributo aplicado apenas nos elementos INPUT e TEXTAREA, e impede o usuário de editar o conteúdo da caixa de texto. O valor do campo será enviado para o script de processamento, assim como o usuário poderá dar foco normalmente no campo e a navegação via teclado funcionará normalmente. A única coisa que o usuário não poderá fazer é: editar o conteúdo.</p>
<p>DISABLED é um atributo aplicado nos elementos INPUT, TEXTAREA, SELECT, OPTGROUP, OPTION e BUTTON, e desabilita o campo do formulário, impedindo a edição do seu valor. Quando desabilitamos um campo, seu valor não será enviado junto com os demais campos do formulário, o usuário não conseguirá colocar o foco no campo e a navegação via teclado será desabilitada.</p>
<p>Veja um exemplo dos atributos READONLY e DISABLED:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
   &lt;fieldset&gt;
         &lt;legend&gt;Formulário de Contato&lt;/fieldset&gt;
         &lt;label for=&quot;nome&quot;&gt;Nome:&lt;/label&gt; &lt;input type=&quot;text&quot; id=&quot;nome&quot; name=&quot;nome&quot; value=&quot;Diego&quot; readonly=&quot;readonly&quot; /&gt;&lt;br /&gt;
         &lt;label for=&quot;email&quot;&gt;Email:&lt;/label&gt; &lt;input type=&quot;text&quot; id=&quot;email&quot; name=&quot;email&quot;  value=&quot;Digite seu email...&quot; /&gt;&lt;br /&gt;
         &lt;label for=&quot;masc&quot;&gt;MASC:&lt;/label&gt; &lt;input type=&quot;radio&quot; name=&quot;masc&quot; id=&quot;masc&quot; value=&quot;masc&quot; /&gt; &lt;label for=&quot;fem&quot;&gt;FEM&lt;/label&gt; &lt;input type=&quot;radio&quot; name=&quot;sexo&quot; id=&quot;fem&quot; value=&quot;fem&quot; /&gt;&lt;br /&gt;
         &lt;label for=&quot;news&quot;&gt;Deseja receber nossa newsletter:&lt;/label&gt; &lt;input type=&quot;checkbox&quot; name=&quot;news&quot; id=&quot;news&quot; value=&quot;&quot; /&gt;&lt;br /&gt;
         &lt;label for=&quot;como&quot;&gt;Como nos conheceu:&lt;/label&gt; 
         &lt;select id=&quot;como&quot; name=&quot;como&quot; disabled=&quot;disabled&quot;&gt;
            &lt;option&gt;Google&lt;/option&gt;
            &lt;option&gt;Indicação de amigo&lt;/option&gt;
            &lt;option&gt;Outros&lt;/option&gt;
         &lt;/select&gt;&lt;br /&gt;
         &lt;label for=&quot;msg&quot;&gt;Mensagem:&lt;/label&gt; &lt;textarea cols=&quot;7&quot; rows=&quot;40&quot; id=&quot;msg&quot; name=&quot;msg&quot;&gt;O elemento textarea não possui o atributo VALUE&lt;/textarea&gt;
         &lt;button type=&quot;submit&quot;&gt;Enviar&lt;/button&gt;
   &lt;/fieldset&gt;  
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
   <fieldset><br />
         <legend>Formulário de Contato</fieldset><br />
         <label for="nome">Nome:</label><br />
<input type="text" id="nome" name="nome" value="Diego" readonly="readonly" />
         <label for="email">Email:</label><br />
<input type="text" id="email" name="email"  value="Digite seu email..." />
         <label for="masc">MASC:</label><br />
<input type="radio" name="masc" id="masc" value="masc" /> <label for="fem">FEM</label><br />
<input type="radio" name="sexo" id="fem" value="fem" />
         <label for="news">Deseja receber nossa newsletter:</label><br />
<input type="checkbox" name="news" id="news" value="" />
         <label for="como">Como nos conheceu:</label> </p>
<select id="como" name="como" disabled="disabled">
            <option>Google</option><br />
            <option>Indicação de amigo</option><br />
            <option>Outros</option><br />
         </select>
<p>
         <label for="msg">Mensagem:</label> <textarea cols="7" rows="40" id="msg" name="msg">O elemento textarea não possui o atributo VALUE</textarea><br />
         <button type="submit">Enviar</button><br />
   </fieldset><br />
</form>
<p>Por hoje é só, pessoal! No próximo post terminaremos essa parte sobre formulários web, falando um pouco sobre como incrementar a acessibilidade em nossos formulários. Até lá e bom estudo!</p>
<p>Abraços,<br />
Diego.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.projetistadigital.com/2009/07/minicurso-de-html-parte-xii-%e2%80%93-formularios-web-mais-alguns-elementos-e-atributos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Minicurso de HTML: Parte XII – Formulários Web: elementos de um formulário</title>
		<link>http://www.projetistadigital.com/2009/07/minicurso-de-html-parte-xii-%e2%80%93-formularios-web-elementos-de-um-formulario/</link>
		<comments>http://www.projetistadigital.com/2009/07/minicurso-de-html-parte-xii-%e2%80%93-formularios-web-elementos-de-um-formulario/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 16:13:32 +0000</pubDate>
		<dc:creator>Diego Marques</dc:creator>
				<category><![CDATA[WebStandards (Padrões Web)]]></category>
		<category><![CDATA[XHTML & HTML]]></category>
		<category><![CDATA[agrupar options]]></category>
		<category><![CDATA[botões formulários web]]></category>
		<category><![CDATA[button]]></category>
		<category><![CDATA[caixa de texto várias linhas]]></category>
		<category><![CDATA[campo upload de arquivo]]></category>
		<category><![CDATA[campos de senha]]></category>
		<category><![CDATA[curso online de html]]></category>
		<category><![CDATA[formulário web]]></category>
		<category><![CDATA[formulários html]]></category>
		<category><![CDATA[HTML & XHTML]]></category>
		<category><![CDATA[html para iniciantes]]></category>
		<category><![CDATA[introdução ao html]]></category>
		<category><![CDATA[juntar options]]></category>
		<category><![CDATA[label]]></category>
		<category><![CDATA[select]]></category>
		<category><![CDATA[tag form]]></category>
		<category><![CDATA[tags html head body]]></category>
		<category><![CDATA[textarea]]></category>
		<category><![CDATA[tutorial básico html]]></category>
		<category><![CDATA[tutorial iniciante html]]></category>

		<guid isPermaLink="false">http://www.projetistadigital.com/?p=180</guid>
		<description><![CDATA[Olá Pessoal,
Falamos anteriormente sobre o que são formulários web e o elemento INPUT. Hoje continuaremos a descrever os elementos que compõem um formulário. Então, mãos à obra:
Elementos SELECT, OPTION e OPTGROUP
Chamamos de SELECT aquelas caixinhas de seleção, onde ao pressionar uma seta para baixo, visualizamos uma lista de opções, dentre as quais escolheremos apenas uma. [...]]]></description>
			<content:encoded><![CDATA[<p>Olá Pessoal,</p>
<p>Falamos anteriormente sobre o que são formulários web e o elemento INPUT. Hoje continuaremos a descrever os elementos que compõem um formulário. Então, mãos à obra:</p>
<h3>Elementos SELECT, OPTION e OPTGROUP</h3>
<p>Chamamos de SELECT aquelas caixinhas de seleção, onde ao pressionar uma seta para baixo, visualizamos uma lista de opções, dentre as quais escolheremos apenas uma. Para criar uma caixa de seleção, basta utilizar as tags &lt;select&gt;&lt;/select&gt;. Uma vez criada a caixa de seleção, utilizaremos o elemento OPTION para criar as opções a serem selecionadas. Cada opção será marcada pelas tags &lt;option&gt;&lt;/optiont&gt;. Veja o exemplo abaixo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
&lt;select&gt;
&lt;option&gt;HTML &amp; XHTML&lt;/option&gt;
&lt;option&gt;CSS&lt;/option&gt;
&lt;option&gt;JavaScript&lt;/option&gt;
&lt;option&gt;PHP&lt;/option&gt;
&lt;/select&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
<select>
<option>HTML &#038; XHTML</option><br />
<option>CSS</option><br />
<option>JavaScript</option><br />
<option>PHP</option><br />
</select>
</form>
<p>Em caixas de seleção extensas, onde o usuário terá uma lista enorme de opções para escolha, pode ser interessante agrupar as opções que tenham relações entre si. Para criar grupos de opções, utilizaremos o elemento OPTGROUP. Veja como fica o código abaixo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
&lt;select&gt;
&lt;optgroup label=&quot;Camada Visual&quot;&gt;
    &lt;option&gt;HTML &amp; XHTML&lt;/option&gt;
    &lt;option&gt;CSS&lt;/option&gt;
    &lt;option&gt;JavaScript&lt;/option&gt;
&lt;/optgroup&gt;
&lt;optgroup label=&quot;Programação&quot;&gt;
    &lt;option&gt;PHP&lt;/option&gt;
    &lt;option&gt;Phyton&lt;/option&gt;
    &lt;option&gt;Ruby&lt;/option&gt;
&lt;/optgroup&gt;
&lt;optgroup label=&quot;Banco de Dados&quot;&gt;
    &lt;option&gt;Modelagem de Dados&lt;/option&gt;
    &lt;option&gt;Linguagem SQL&lt;/option&gt;
    &lt;option&gt;MySQL Server&lt;/option&gt;
&lt;/optgroup&gt;
&lt;/select&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
<select>
<optgroup label="Camada Visual"><br />
    <option>HTML &#038; XHTML</option><br />
    <option>CSS</option><br />
    <option>JavaScript</option><br />
</optgroup><br />
<optgroup label="Programação"><br />
    <option>PHP</option><br />
    <option>Phyton</option><br />
    <option>Ruby</option><br />
</optgroup><br />
<optgroup label="Banco de Dados"><br />
    <option>Modelagem de Dados</option><br />
    <option>Linguagem SQL</option><br />
    <option>MySQL Server</option><br />
</optgroup><br />
</select>
</form>
<h3>Elemento TEXTAREA</h3>
<p>Sabemos como criar caixas de texto com uma única linha mas, não temos idéia de como permitir ao usuário digitar uma mensagem em várias linhas. Para criar esse tipo de caixa de texto, usaremos o elemento TEXTAREA. Veja o código abaixo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
&lt;textarea rows=&quot;7&quot; cols=&quot;40&quot;&gt;&lt;/textarea&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
<textarea rows="7" cols="40"></textarea><br />
</form>
<p>Os atributos ROWS e COLS definem o tamanho do TEXTAREA: ROWS fica responsável pela quantidade de linhas (altura); COLS define a quantidade de colunas (largura) da caixa de texto.</p>
<h3>Elemento BUTTON</h3>
<p>Podemos criar botões para nossos formulários, com muito mais liberdade do que o elemento INPUT. Com o uso do elemento BUTTON, podemos inserir conteúdo dentro de nossos botões: imagens, flash, texto etc. Veja o código abaixo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;text&quot; /&gt; 
&lt;button type=&quot;submit&quot;&gt;Enviar&lt;/button&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
<input type="text" />
<button type="submit">Enviar</button><br />
</form>
<p>Usamos o atributo TYPE para definir o tipo do botão, possuímos três valores distintos para esse atributo: SUBMIT – cria um botão para envio de formulário; RESET – cria um botão para limpar todos os valores de um formulário; BUTTON – cria um botão associado a um evento do JavaScript, que normalmente inicia uma função do sistema (Ex: botões para inserção, alteração e exclusão de itens). Dentro das tags &lt;button&gt;&lt;/button&gt; podemos inserir qualquer tipo de conteúdo: imagens, flash, texto etc. Isso nos dá uma grande vantagem sobre o elemento INPUT, que é um elemento vazio.</p>
<h3>Elemento LABEL</h3>
<p>Com o que vimos até agora, podemos criar nossos formulários web. Já conhecemos o elemento INPUT e seus tipos, SELECT, TEXTAREA e BUTTON. Não construímos um formulário apenas enfileirando elementos, é preciso que cada campo possua um texto indicando como  devemos preenchê-lo. Vamos montar um pequeno formulário de cadastro:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
Nome: &lt;input type=&quot;text&quot; /&gt;&lt;br /&gt;
Email: &lt;input type=&quot;text&quot; /&gt;&lt;br /&gt;
Sexo: &lt;input type=&quot;radio&quot; name=&quot;sexo&quot; /&gt;MASC 
&lt;input type=&quot;radio&quot; name=&quot;sexo&quot; /&gt;FEM&lt;br /&gt;
Deseja receber nossa newsletter: &lt;input type=&quot;checkbox&quot; /&gt;&lt;br /&gt;
Como nos conheceu: &lt;select&gt;
   &lt;option&gt;Google&lt;/option&gt;
   &lt;option&gt;Indicação de amigo&lt;/option&gt;
   &lt;option&gt;Outros&lt;/option&gt;
&lt;/select&gt;&lt;br /&gt;
Mensagem: &lt;textarea cols=&quot;7&quot; rows=&quot;40&quot;&gt;&lt;/textarea&gt;
&lt;button type=&quot;submit&quot;&gt;Enviar&lt;/button&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
Nome:<br />
<input type="text" />
Email:<br />
<input type="text" />
Sexo:<br />
<input type="radio" name="sexo" />MASC </p>
<input type="radio" name="sexo" />FEM<br />
Deseja receber nossa newsletter:<br />
<input type="checkbox" />
Como nos conheceu:<br />
<select>
   <option>Google</option><br />
   <option>Indicação de amigo</option><br />
   <option>Outros</option><br />
</select>
<p>
Mensagem: <textarea cols="7" rows="40"></textarea><br />
<button type="submit">Enviar</button><br />
</form>
<p>Antes de mais nada: o uso da tag BR não é aconselhável. Diagramação de elementos fica por conta do CSS, como já falamos anteriormente. Feito esse aviso, reflitam por um instante: visualmente, conseguimos associar a legenda NOME ao INPUT TEXT correspondente, mas, quando construímos um site, temos diversos perfis de visitantes e o conteúdo deve ser acessível a todos eles. A tag LABEL associa um elemento de formulário à sua legenda correspondente, essa tag possui um atributo chamado FOR, cujo valor deve ser igual ao valor do atributo ID do elemento referenciado pelo LABEL. Veja como funciona:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
&lt;label for=&quot;nome&quot;&gt;Nome:&lt;/label&gt; &lt;input type=&quot;text&quot; id=&quot;&quot; /&gt;&lt;br /&gt;
&lt;label for=&quot;email&quot;&gt;Email:&lt;/label&gt; &lt;input type=&quot;text&quot; id=&quot;&quot; /&gt;&lt;br /&gt;
&lt;label for=&quot;masc&quot;&gt;MASC:&lt;/label&gt; &lt;input type=&quot;radio&quot; name=&quot;masc&quot; /&gt; &lt;label for=&quot;fem&quot;&gt;FEM&lt;/label&gt; 
&lt;input type=&quot;radio&quot; name=&quot;sexo&quot; id=&quot;fem&quot; /&gt;&lt;br /&gt;
&lt;label for=&quot;news&quot;&gt;Deseja receber nossa newsletter:&lt;/label&gt; &lt;input type=&quot;checkbox&quot; /&gt;&lt;br /&gt;
&lt;label for=&quot;como&quot;&gt;Como nos conheceu:&lt;/label&gt; 
&lt;select id=&quot;como&quot;&gt;
   &lt;option&gt;Google&lt;/option&gt;
   &lt;option&gt;Indicação de amigo&lt;/option&gt;
   &lt;option&gt;Outros&lt;/option&gt;
&lt;/select&gt;&lt;br /&gt;
&lt;label for=&quot;msg&quot;&gt;Mensagem:&lt;/label&gt; &lt;textarea cols=&quot;7&quot; rows=&quot;40&quot; id=&quot;msg&quot;&gt;&lt;/textarea&gt;
&lt;button type=&quot;submit&quot;&gt;Enviar&lt;/button&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
<label for="nome">Nome:</label><br />
<input type="text" id="" />
<label for="email">Email:</label><br />
<input type="text" id="" />
<label for="masc">MASC:</label><br />
<input type="radio" name="masc" /> <label for="fem">FEM</label> </p>
<input type="radio" name="sexo" id="fem" />
<label for="news">Deseja receber nossa newsletter:</label><br />
<input type="checkbox" />
<label for="como">Como nos conheceu:</label> </p>
<select id="como">
   <option>Google</option><br />
   <option>Indicação de amigo</option><br />
   <option>Outros</option><br />
</select>
<p>
<label for="msg">Mensagem:</label> <textarea cols="7" rows="40" id="msg"></textarea><br />
<button type="submit">Enviar</button><br />
</form>
<p>Bom pessoal, por hoje é só! No próximo tutorial continuamos a falar sobre formulários web. Até lá.</p>
<p>Abraços,<br />
Diego.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.projetistadigital.com/2009/07/minicurso-de-html-parte-xii-%e2%80%93-formularios-web-elementos-de-um-formulario/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parte XI – Formulários Web: Introdução e primeiros elementos</title>
		<link>http://www.projetistadigital.com/2009/07/parte-xi-%e2%80%93-formularios-web-introducao-e-primeiros-elementos/</link>
		<comments>http://www.projetistadigital.com/2009/07/parte-xi-%e2%80%93-formularios-web-introducao-e-primeiros-elementos/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 08:00:08 +0000</pubDate>
		<dc:creator>Diego Marques</dc:creator>
				<category><![CDATA[WebStandards (Padrões Web)]]></category>
		<category><![CDATA[XHTML & HTML]]></category>
		<category><![CDATA[campo upload de arquivo]]></category>
		<category><![CDATA[campos de senha]]></category>
		<category><![CDATA[curso online de html]]></category>
		<category><![CDATA[form input]]></category>
		<category><![CDATA[formulário web]]></category>
		<category><![CDATA[formulários html]]></category>
		<category><![CDATA[HTML & XHTML]]></category>
		<category><![CDATA[html para iniciantes]]></category>
		<category><![CDATA[input checkbox]]></category>
		<category><![CDATA[input file]]></category>
		<category><![CDATA[input hidden]]></category>
		<category><![CDATA[input password]]></category>
		<category><![CDATA[input radio]]></category>
		<category><![CDATA[input reset]]></category>
		<category><![CDATA[input submit]]></category>
		<category><![CDATA[input text]]></category>
		<category><![CDATA[introdução ao html]]></category>
		<category><![CDATA[tag form]]></category>
		<category><![CDATA[tags html head body]]></category>
		<category><![CDATA[tutorial básico html]]></category>
		<category><![CDATA[tutorial iniciante html]]></category>

		<guid isPermaLink="false">http://www.projetistadigital.com/?p=165</guid>
		<description><![CDATA[Olá Pessoal,
Hoje invadimos o fantástico mundo dos formulários web. Com o uso de formulários podemos criar mecanismos de interação do usuário com o site, desde caixas de busca até complexas fichas de cadastro e compra de produtos. Usamos formulários o tempo inteiro: para fazer login, buscas, cadastros, compras e enviar mensagens via fale conosco. Quando [...]]]></description>
			<content:encoded><![CDATA[<p>Olá Pessoal,</p>
<p>Hoje invadimos o fantástico mundo dos formulários web. Com o uso de formulários podemos criar mecanismos de interação do usuário com o site, desde caixas de busca até complexas fichas de cadastro e compra de produtos. Usamos formulários o tempo inteiro: para fazer login, buscas, cadastros, compras e enviar mensagens via fale conosco. Quando enviamos emails ou scraps no Orkut, pesquisamos no Google, participamos de fóruns e chats, em todos esses momentos fazemos uso de formulários web. Portanto, fiquem de olhos abertos e estudem com atenção, porque o assunto é MUITO IMPORTANTE.</p>
<h3>Características Gerais</h3>
<p>Veja o formulário abaixo:</p>
<form action="" method="post">
<label for="busca">O que você procura?<br />
<input type="text" name="busca"  id="busca" /></label><br />
<button type="button">BUSCAR</button><br />
</form>
<p>Podemos perceber que esse formulário é composto de duas partes: uma caixa de texto e um botão. Todo formulário é composto por elementos ou controles, e o usuário interagirá com esses controles seja digitando dados, subindo arquivos, escolhendo opções etc. A primeira coisa que vocês precisam aprender: todo formulário é marcado pelas tags &lt;form&gt;&lt;/form&gt;, e dentro dessas tags são inseridos os controles do formulário. A tag &lt;form&gt; exige alguns atributos essenciais para o seu bom funcionamento:</p>
<ul>
<li><strong>ACTION:</strong> Declaramos a página de destino do formulário, ou seja o documento que receberá todos os dados inseridos pelo usuário. Essa página possuirá algum script, que verificará a consistência dos dados inseridos, e por fim enviará o formulário para seu destino (banco de dados, email etc.);</li>
<li><strong>METHOD:</strong> Define a forma como enviaremos o formulário, ou seja como os dados serão transmitidos. Admite dois valores GET e POST.</li>
</ul>
<h3>Qual é a diferença entre GET e POST?</h3>
<p>No método GET, enviamos os dados do formulário como parte da URL declarada no atributo ACTION. Imaginem um formulário com um campo apenas: <strong>texto_busca</strong>.  Declaramos o atributo ACTION com o valor “processa_form.php” (essa página receberá os dados do formulário, verificará se está tudo ok e executará uma ação). Quando o usuário clicar no botão de disparo do formulário, o mesmo será enviado para a página declarada na ACTION, e o valor digitado dentro da caixa de texto fará parte da URL. Ficará assim: processa_form.php?texto_busca=valor digitado pelo usuário.</p>
<p>Quando você acessa o site do Google, na verdade, está pedindo uma permissão ao servidor do site. Seu navegador faz uma requisição ao servidor, pedindo acesso, o servidor decide se você pode ou não ver o site. Em linhas gerais, a coisa funciona mais ou menos assim. No método POST, os dados do formulário são enviados em anexo à essa requisição ao servidor. Tais dados são enviados de forma oculta, podendo ser criptografados e tratados por outros mecanismos de segurança.</p>
<p>Ok, a diferença entre um e outro todos já sabem, mas qual deles devemos usar? Existem uma série de fatores relacionados ao trabalho do programador, o que não é do nosso escopo. Simplificando o problema: usamos GET para formulários que exijam rapidez e poucos requisitos de segurança, tais como formulários de busca; e para todo o resto (login, cadastro, fale conosco, compras online etc.), usamos POST.</p>
<h3>Elementos de um formulário: INPUT</h3>
<p>Vamos aprender a escrever nossos formulários web, e conhecer seus principais elementos.</p>
<h4>Caixa de texto simples – input text</h4>
<p>Quando fazemos uma busca no Google, digitamos algo naquela caixa de texto e clicamos no botão “buscar”, e aí acessamos a página de resultados. Simples assim, né? Pois então, aquela caixa de texto é obtida pela tag HTML &lt;input type=&#8221;text&#8221; /&gt;. A tag &lt;input /&gt; cria um campo de formulário para entrada de dados, com o atributo TYPE podemos criar diferentes tipos de campos, e a caixa de texto simples é um deles. Veja como ficaria o código abaixo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;text&quot; /&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
<input type="text" />
</form>
<p>Reparem que todos os elementos de um formulário ficam dentro das tags &lt;form&gt;&lt;/form&gt;. Não podemos usar nenhum controle, fora dessas tags.</p>
<h4>Checkbox – input checkbox</h4>
<p>Checkbox são aquelas caixas de seleção, onde marcamos ou desmarcamos uma opção. São campos de entrada de dados, onde o usuário assinala os campos que deseja responder com “SIM”, e deixa em branco aqueles que deseja marcar com “NÃO”. Veja o código abaixo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;checkbox&quot; /&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
<input type="checkbox" />
</form>
<h4>Radio buttons – input radio</h4>
<p>O controle input radio permite ao usuário escolher apenas uma, dentre uma lista de opções. Ao contrário do controle input checkbox, onde o usuário pode escolher vários itens dentro de uma lista. Veja o código abaixo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;radio&quot; name=&quot;form&quot; /&gt;
&lt;input type=&quot;radio&quot; name=&quot;form&quot; /&gt;
&lt;input type=&quot;radio&quot; name=&quot;form&quot; /&gt;
&lt;input type=&quot;radio&quot; name=&quot;form&quot; /&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
<input type="radio" name="form" /></p>
<input type="radio" name="form" /></p>
<input type="radio" name="form" /></p>
<input type="radio" name="form" />
</form>
<p>* Estudaremos mais adiante o atributo NAME.</p>
<h4>Campo oculto – input hidden</h4>
<p>Podemos armazenar informações sobre o usuário em campos ocultos de um formulário. Esses campos não serão renderizados pelo navegador, e são de grande importância para qualquer sistema dinâmico (que utiliza alguma linguagem de programação). Veja o código abaixo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;hidden&quot; value=&quot;valor do campo oculto&quot; /&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p>* Estudaremos mais adiante o atributo VALUE.</p>
<h4>Caixa de texto para senhas – input password</h4>
<p>Já perceberam que quando vamos digitar uma senha em qualquer site, ao invés de aparecer o texto digitado, surgem pequenos marcadores (normalmente bolinhas escuras e preenchidas)? Pois é, não seria nada legal digitar nossas senhas, para que qualquer um possa ver na tela do nosso monitor. Podemos criar campos de formulários específicos para digitação de senhas. Veja o código abaixo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;password&quot; /&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
<input type="password" />
</form>
<h4>Campo para upload de arquivos – input file</h4>
<p>Em muitas situações precisamos anexar arquivos aos nossos formulários (uma foto, um arquivo de texto, uma planilha etc.). Nesses casos, sempre há um caixa de texto com um botão embutido, e ao clicar nele podemos escolher um arquivo qualquer em nosso computador, para fazer um upload. Para criar esse campo, basta seguir o código abaixo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;file&quot; /&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
<input type="file" />
</form>
<h4>Botões – input submit e reset</h4>
<p>Podemos também criar botões para enviar formulários, ou simplesmente apagar seus dados. Veja o código abaixo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;submit&quot; value=&quot;ENVIAR&quot; /&gt; 
&lt;input type=&quot;reset&quot; value=&quot;LIMPAR&quot; /&gt;
&lt;/form&gt;</pre></td></tr></table></div>

<p><strong>Resultado:</strong></p>
<form action="" method="post">
<input type="submit" value="ENVIAR" />
<input type="reset" value="LIMPAR" />
</form>
<p>Bom pessoal, por hoje finalizamos! No próximo tutorial vamos terminar a lista de elementos de um formulário. Bom estudo e até lá!</p>
<p>Abraços,<br />
Diego.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.projetistadigital.com/2009/07/parte-xi-%e2%80%93-formularios-web-introducao-e-primeiros-elementos/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Minicurso de HTML: Parte I – Introdução ao HTML / O que é HTML? Quais as diferenças entre HTML e XHTML? O que são tags? Primeiras tags</title>
		<link>http://www.projetistadigital.com/2009/06/minicurso-de-html-parte-i-%e2%80%93-introducao-ao-html-o-que-e-html-quais-as-diferencas-entre-html-e-xhtml-o-que-sao-tags-primeiras-tags/</link>
		<comments>http://www.projetistadigital.com/2009/06/minicurso-de-html-parte-i-%e2%80%93-introducao-ao-html-o-que-e-html-quais-as-diferencas-entre-html-e-xhtml-o-que-sao-tags-primeiras-tags/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 19:48:39 +0000</pubDate>
		<dc:creator>Diego Marques</dc:creator>
				<category><![CDATA[WebStandards (Padrões Web)]]></category>
		<category><![CDATA[XHTML & HTML]]></category>
		<category><![CDATA[como fazer sites]]></category>
		<category><![CDATA[curso online de html]]></category>
		<category><![CDATA[diferenças entre html e xhtml]]></category>
		<category><![CDATA[HTML & XHTML]]></category>
		<category><![CDATA[html para iniciantes]]></category>
		<category><![CDATA[html X xhtml]]></category>
		<category><![CDATA[introdução ao html]]></category>
		<category><![CDATA[o que é html]]></category>
		<category><![CDATA[tags html head body]]></category>
		<category><![CDATA[tutorial básico html]]></category>
		<category><![CDATA[tutorial iniciante html]]></category>

		<guid isPermaLink="false">http://www.projetistadigital.com/?p=117</guid>
		<description><![CDATA[(Graças ao pessoal da PredialNet não pude postar o conteúdo de ontem, por isso estou lançando um post único com o tutorial ontem e de hoje simultaneamente)
Olá Pessoal,
Estamos iniciando nosso minicurso de HTML, onde abordaremos os principais tópicos dessa linguagem essencial para quem trabalha com internet. Hoje em dia todo mundo que trabalha na nossa [...]]]></description>
			<content:encoded><![CDATA[<p><strong>(Graças ao pessoal da <a title="PredialNet - A internet a rádio que sempre te deixa na mão" href="http://www.predialnet.com.br" target="_blank">PredialNet</a> não pude postar o conteúdo de ontem, por isso estou lançando um post único com o tutorial ontem e de hoje simultaneamente)</strong></p>
<p>Olá Pessoal,</p>
<p>Estamos iniciando nosso minicurso de HTML, onde abordaremos os principais tópicos dessa linguagem essencial para quem trabalha com internet. Hoje em dia todo mundo que trabalha na nossa área precisa aprender um pouco de HTML: redatores, jornalistas, designers, publicitários, profissionais de marketing, programadores, gerentes de projeto etc. Não importa se você precisa aprender o básico para montar o layout de um texto, ou ter noções avançadas para dominar uma ferramenta web do seu trabalho, configurar newsletters, desenvolver sites, hotsites, portais e todo e qualquer tipo de sistema web, esse tutorial irá introduzí-lo no fantástico mundo do desenvolvimento web.</p>
<p>Se você é aluno de algum curso técnico (WebDesigner, Programador Web etc.), ou está estudando para trabalhar nesse ramo, enfim, se você é um iniciante e não sabe por onde começar, me permita ajudá-lo: comece por aqui! Acompanhe o be-a-bá do HTML e a partir desse minicurso avance para outras áreas. Programação, PHP, banco de dados, JavaScript, CSS tudo isso vem depois. Vamos começar aqui uma jornada rumo ao desenvolvimento de sites completos e funcionais.</p>
<p>Lembrando que essa é o conteúdo que ministro em minhas turmas de WebDesigner e Programador Web, no SENAC e outros cursos. Portanto, o conteúdo tende ser o mais atualizado possível, assim como didaticamente separado e estruturado.</p>
<h3>O que é HTML, afinal de contas?</h3>
<p>HTML ou HyperText Markup Language é uma linguagem de marcação, utilizada para construir a camada visual de páginas web. Sua função é dar um valor semântico e estruturar todo o conteúdo de um documento. Toda vez que você abre o seu navegador e acessa algum site, o que você está vendo na verdade é um punhado de código HTML interpretado pelo browser, e convertido em formas, cores, gráficos e vídeos. Podemos dizer que o HTML é a linguagem por detrás de um site, é o que define o conteúdo visualizado na tela. Com HTML podemos definir o que é um conteúdo: parágrafos, listas, links, imagens, vídeos, tabelas, colunas etc. Toda linguagem de programação web interage com HTML, por esses motivos todo profissional que se preza (redatores, designers, programadores etc.) conhece bem a sua sintaxe. Não é exagero dizer que o HTML é a base de tudo, o ponto inicial da sua carreira futura.</p>
<h3>Ok, entendi que HTML é importante demais! Mas&#8230; como funciona?</h3>
<p>Trabalhar com HTML é bem simples, como vocês verão nos próximos dias. Essa linguagem de marcação baseia-se em etiquetas com valor semântica, englobando trechos de conteúdo dotando-os de sentido e valor. Essas etiquetas são chamadas &lt;strong&gt;tags&lt;/strong&gt;. Uma tag nada mais é do que um comando HTML com um ponto inicial (abertura) e um ponto final (fechamento). Quando digitamos um texto no Word, por exemplo, para criar um parágrafo, simplesmente apertamos a tecla ENTER. Em HTML não é tão simples assim, é preciso especificar via código que queremos um parágrafo em dado lugar; precisamos também dizer onde começa e onde termina esse parágrafo. Veja abaixo como funciona:</p>
<p>&lt;paragrafo&gt;Conteúdo do parágrafo 1&#8230;&lt;/paragrafo&gt;<br />
Conteúdo fora do parágrafo&#8230;</p>
<p>Perceberam que um pedaço do texto está entre &lt;paragrafo&gt;&lt;/paragrafo&gt;? Esse texto formará um parágrafo, enquanto todo o resto do conteúdo ficará de fora. Tá, mas por que os símbolos &lt;&gt; e &lt;/&gt;. É o seguinte: toda tag possui a seguinte sintaxe &#8211; &lt;nome_da_tag&gt;&#8230; Conteúdo a ser etiquetado&#8230;&lt;/nome_da_tag&gt;, onde delimitamos um início para tag (&lt;&gt;) e um fim (&lt;/&gt;). Chamamos isso de tag de abertura e tag de fechamento. O HTML possui dezenas de tags com nomes diferentes. A nomenclatura das tags é algo bem fácil de lidar, pois os nomes sempre tem a ver com a funcionalidade do comando. Por exemplo: &lt;p&gt;&lt;/p&gt;são tags de parágrafo; &lt;table&gt;&lt;/table&gt; correspondem a tabelas; &lt;form&gt;&lt;/form&gt; corresponde a formulários, e por aí vai.</p>
<h3>Eu ouvi falar de um tal XHMTL&#8230; Que raios é isso? É HTML também?</h3>
<p>No princípio era o caos&#8230; Desenvolver um site há uns 10 ou 15 anos era um inferno. Não tínhamos padronização, folhas de estilo em cascata (vamos estudar isso), cada navegador interpretava o mundo do seu jeito, são tempos ruins que devemos esquecer. Naquele período não havia regulamentação e padronização de desenvolvimento, e por conseqüência o próprio HTML era meio zoneado. Usava-se HTML para tudo: marcação de conteúdo (sua finalidade real), estilização, diagramação etc. E conforme a web foi evoluindo, novas tecnologias surgiram e o HTML velho de guerra apresentou uma série de limitações frente às novas necessidades. Por esse motivo refizeram o HTML de acordo com o padrão XML, uma linguagem de marcação rígida, compatível com qualquer sistema: surgiu então o XHTML (XML + HTML). O novo formato apresentava a rigidez sintática do XML, assim como sua compatibilidade, e a linguagem ganhava novos horizontes. XHTML então é uma versão reformulado do velho HTML, dentro do padrão XML de marcação. É uma melhoria. Outra vantagem a ser assinalada: marcações XHTML são compatíveis com aplicações XML (usadas a torto e direito nos sistemas web modernos).</p>
<p>Não se preocupem: aqui aprenderemos marcação XHTML, que é muito parecido com o velho e bom HTML de guerra.</p>
<h3>Ainda não estou satisfeito&#8230; Quais são as reais diferenças entre HTML e XHTML?</h3>
<p>Ok, caro estudante&#8230; Você tem que perguntar mesmo! O HTML por não ser padronizado, admitia uma série de falhas e inconsistências. O XHTML é muito rígido, e não deixa passar nenhum erro. Por esse motivo somos obrigados a ter atenção com algumas regrinhas básicas:</p>
<h4>Documentos em XHTML devem ser bem formatados</h4>
<p>Os navegadores tentam resolver erros e inconsistências em páginas HTML, e cada um faz alterações conforme sua lógica interna. Nem é preciso dizer que isso não pode dar certo&#8230; Em XHTML não são permitidos erros de sintaxe, tags sem fechamento, aninhamento inconsistente etc.</p>
<h4>Tags devem ser escritas em letras minúsculas</h4>
<p>XHTML é o que chamamos de linguagem case-sensitive, ou seja: diferencia letras maiúsculas de minúsculas. Em uma linguagem case-sensitive “BRASIL” é diferente de “brasil”, apesar da grafia ser a mesma, pois o tipo de caixa (alta e baixa) varia. Todas as tags e atributos XHTML usam letras minúsculas, em resumo: nada de escrever &lt;P&gt;&lt;/P&gt;&#8230;</p>
<h4>As tags devem ser aninhadas corretamente</h4>
<p>Uma coisa importante sobre o uso de tags em HTML: se você usa várias tags aninhadas (uma dentro da outra) na sua marcação, é importante respeitar a ordem de abertura e fechamento de tags – a primeira tag a ser aberta é a última a ser fechada, a segunda tag é a penúltima e por aí vai&#8230;</p>
<p>OK &#8211; &lt;p&gt;&lt;strong&gt;Texto&lt;/strong&gt;&lt;/p&gt;<br />
ERRADO &#8211; &lt;p&gt;&lt;strong&gt;Texto&lt;/p&gt;&lt;/strong&gt;</p>
<h4>É obrigatório o uso de tags de fechamento</h4>
<p>No HTML algumas tags como &lt;p&gt;, &lt;br&gt; e &lt;li&gt; dispensam o uso da tag de fechamento. Legal, mas isso no HTML. O padrão XML (do qual o XHTML é derivado) diz claramente: TODA TAG OBRIGATORIAMENTE DEVE SER FECHADA. Como diz aquele comentarista esportivo: “a regra é clara”&#8230;  Existem algumas tags que não possuem par de fechamento, são o que chamamos de elementos vazios. Esse tipo de elemento precisa ser fechado na própria tag de abertura, e sua estrutura é a seguinte: &lt;nome_da_tag /&gt;</p>
<p>Veja algumas tags que podem ser fechadas no comando de abertura:</p>
<p>&lt;br /&gt; &#8211; Força quebra de linha<br />
&lt;img /&gt; &#8211; Insere uma imagem<br />
&lt;input /&gt; &#8211; Coloca um campo de formulário (entrada de dados)</p>
<h3>Tá&#8230; Você me convenceu: quando começamos a brincar com HTML?</h3>
<p>Bom, chega de papo introdutório e vamos por a mão na massa. Todo mundo aqui já entendeu o que são tags, como elas funcionam e para o que servem. Para fechar esse post vamos conhecer as primeiras tags HTML, formando o que chamamos de estrutura básica de uma página web. O browser/navegador (Internet Explorer, Firefox, Opera, Safari etc.) é um dispositivo que usamos para acessar a internet e navegar pela web a fora, ele é capaz de interpretar código HTML, CSS, JavaScript, applets Java, XML e mais algumas coisas. Os códigos são interpretados e juntos geram as páginas web que visitamos. Mas precisamos ajudar o navegador a diferenciar código HTML de CSS ou qualquer outra linguagem. Por isso temos tags específicas para marcar cada tipo de código. Por exemplo, para criar uma página web precisamos dizer ao browser qual é a linguagem usada, e se for um documento HTML/XHTML iremos utilizar a tag &lt;html&gt;&lt;/html&gt;. Toda a página deve ficar entre essas tags, e o navegador não irá considerar qualquer código fora dessas etiquetas. A idéia é mais ou menos essa:</p>
<p>&lt;html&gt;<br />
Aqui entra todo o conteúdo da página web&#8230;<br />
&lt;/html&gt;</p>
<p>Todo documento HTML é dividido em duas partes: cabeçalho e corpo. No cabeçalho colocamos todas as informações referentes a página, mas que não serão exibidas na tela do usuário; no corpo colocamos o site propriamente dito, ou seja todo o conteúdo a ser visualizado no navegador do usuário. Essa divisão entre cabeçalho e corpo é efetivada pelo uso das tags &lt;head&gt;&lt;/head&gt; e &lt;body&gt;&lt;/body&gt;. Nossa página ficará da seguinte forma:</p>
<p>&lt;html&gt;<br />
&lt;head&gt;<br />
Aqui entram informações sobre o documento, mas que não serão visualizadas pelo usuário<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
Aqui entra todo o conteúdo do documento, ou seja a página propriamente dita&#8230;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>O corpo da página é a parte mais fácil de compreender. Todos já perceberam que os parágrafos, imagens, tabelas, listas, vídeos, formulários e qualquer outro tipo de conteúdo do site, ficarão dentro das tags &lt;body&gt;&lt;/body&gt;. Mas e o cabeçalho?</p>
<p>“Informações sobre o documento que não serão visualizadas pelo usuário” é um tanto vago e abstrato para a maioria de vocês. Na verdade não adianta me prolongar em explicações sobre o tipo de conteúdo do cabeçalho, pois vocês precisam pegar alguma experiência primeiro. Só para exemplificar: dentro do cabeçalho colocamos o título da página, aquele texto no topo do seu navegador (na barra de títulos); meta-tags – informações gerais sobre o documento como o autor, idioma, padrão de codificação, palavras-chave (termos que indiquem do que trata o conteúdo, por muito tempo foram o ponto alto da indexação de conteúdo no Google, sendo hoje ainda um fator relevante) etc.; links para outros documentos (arquivos com programação JavaScript, comandos de diagramação e estilização CSS etc.) etc. Prometo que conforme você prosseguir em seus estudos, tudo isso fará mais sentido e será mais fácil de entender.</p>
<p>Por enquanto vejamos como colocar um título no documento. Para inserir um título em sua página web, basta adicionar dentro cabeçalho (&lt;head&gt;&lt;/head&gt;) a tag TITLE (&lt;title&gt;&lt;/title&gt;). O conteúdo entre as tags aparecerá na barra de títulos (barra azul no topo do navegador) do seu browser. Veja como fica a nossa página:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Minha primeira página web&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
Conteúdo da minha primeira página web...
&lt;/body&gt;
&lt;/html&gt;</pre></td></tr></table></div>

<p>Para visualizar esse arquivo faça o seguinte: abra o bloco de notas; escreva a estrutura HTML acima (sinta-se à vontade para fazer suas modificações livremente); salve o arquivo com o nome minhaPrimeiraPagina, e ao invés da extensão .txt, troque por .html (isso é undamental, pois se você não alterar a extensão para .html, a página não será visualizada); agora dê um duplo clique em cima do arquivo que você acabou de salvar e&#8230; voi lá, você está visualizando sua primeira página HTML.</p>
<p>Bem pessoal, por hoje é só. No próximo post vamos conhecer novas tags, e aprender a criar títulos, parágrafos, quebras de linha e a formatar texto (negrito, itálico, sublinhado etc.). Até breve.</p>
<p>Forte abraço,<br />
Diego.</p>
<p>PS: Já que o blog tem ajudado muita gente e tudo mais, eu me comprometi a atualizá-lo diariamente (ou quase). Mas, como eu tenho uma produtora web pra cuidar e dou aulas no SENAC, fica meio complicado encontrar tempo. Então vamos oficializar: eu vou sempre postar os artigos e tutoriais à noite ou de madrugada. Durante o dia não dá mesmo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.projetistadigital.com/2009/06/minicurso-de-html-parte-i-%e2%80%93-introducao-ao-html-o-que-e-html-quais-as-diferencas-entre-html-e-xhtml-o-que-sao-tags-primeiras-tags/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
