<?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>Como Criar Sites &#124; Aprenda grátis como fazer seu site &#187; getElementById</title>
	<atom:link href="http://www.comocriarsites.com/tag/getelementbyid/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.comocriarsites.com</link>
	<description>Aprenda a criar sites, html e manhas para fazer seu site.</description>
	<lastBuildDate>Wed, 06 Jan 2010 12:51:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Função getElementById() do Javascript</title>
		<link>http://www.comocriarsites.com/javascript/funcao-getelementbyid-do-javascript/</link>
		<comments>http://www.comocriarsites.com/javascript/funcao-getelementbyid-do-javascript/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 07:21:52 +0000</pubDate>
		<dc:creator>Raoni Novellino</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[formulario]]></category>
		<category><![CDATA[getElementById]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://www.comocriarsites.com/?p=131</guid>
		<description><![CDATA[A função getElementById() do Javascript é uma função muito utilizada quando queremos fazer um site mais interativo. Essa função pode retornar o objeto de qualquer elemento na página que tenha um id único, e também funciona na maioria dos navegadores.
A função getElementById() do Javascript é bem fácil de usar, e é útil em muitas ocasiões. [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: xx-large;">A</span> função <em>getElementById()</em> do Javascript é uma função muito utilizada quando queremos fazer um site mais interativo. Essa função pode retornar o objeto de qualquer elemento na página que tenha um id único, e também funciona na maioria dos navegadores.</p>
<p>A função <em>getElementById()</em> do Javascript é bem fácil de usar, e é útil em muitas ocasiões. Vamos exemplificar algumas para melhor entendimento.</p>
<h3><em>getElementById()</em> para Tratamento e Envio de Formulário</h3>
<p>Vamos supor que eu quero fazer alguma verificações do formulário antes de envia-lo. Eu posso chamar uma função Javascript que faz uso do <em>getElementById()</em> para fazer as verificações necessárias antes de realmente enviar o formulário, porque caso as verificações não procedam, eu posso não enviar o formulário. Vamos ao código:</p>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;html&gt;
&lt;head&gt;
	&lt;title&gt;Exemplo de getElementById() no Formulário&lt;/title&gt;

&lt;style type="text/css"&gt;

#msg_erro {
	color: red;
	font-weight: bold;
}

&lt;/style&gt;

&lt;/head&gt;
&lt;body&gt;

&lt;script language="JavaScript"&gt;

function teste_submit()
{
	var obj_form = document.getElementById('form_teste');
	var obj_nome = document.getElementById('nome_teste');
	var obj_cargo = document.getElementById('cargo_teste');
	var obj_msg_erro = document.getElementById('msg_erro');
	var msg_erro = '';

	if(obj_nome.value == '')
		msg_erro = 'campo NOME vazio';
	else if(obj_cargo.value == '')
		msg_erro = 'campo CARGO vazio';

	if(msg_erro == '')
		obj_form.submit();
	else
		obj_msg_erro.innerHTML = msg_erro;
}

&lt;/script&gt;

&lt;form id="form_teste" action="http://www.comocriarsites.com" method="post"&gt;
Nome: &lt;input type="text" id="nome_teste" name="nome_teste"&gt;&lt;BR&gt;
Cargo: &lt;input type="text" id="cargo_teste" name="cargo_teste"&gt;&lt;BR&gt;
&lt;input type="Button" value="Enviar" onclick="teste_submit();"&gt;
&lt;/form&gt;
&lt;div id="msg_erro"&gt;&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
</div>
<p>Algumas pessoas que conhecem um pouco de Javascript podem dizer &#8220;<em>eu posso fazer a mesma coisa com o onSubmit</em>&#8220;, mas nós não estamos vendo o <em>onSubmit</em> e sim o <em>getElementById()</em>. <img src='http://www.comocriarsites.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Você pode ver esse exemplo da função <em>getElementById()</em> funcionando em <a title="Exemplo de getElementById() no Formulário" href="http://www.comocriarsites.com/exemplos/getElementById_form.html">Exemplo de getElementById() no Formulário</a>.</p>
<p>No código acima temos um formulário HTML com dois campos e um botão de enviar, uma tag <em><strong>&lt;div&gt;</strong></em> para mensagem de erro e uma função Javascript identificada por <em>teste_submit()</em>. Quando o botão de enviar for pressionado, vai ser chamada a função Javascript <em>teste_submit()</em>. Essa função pega os objetos do formulário, dos campos do fomulário e do <strong><em>&lt;div&gt;</em></strong>, verifica se algum dos campos está vazio, e se algum deles estiver vazio, ele grava uma string em uma variável local (<em>msg_erro</em>) e depois faz essa string aparecer na tela. Se os dois campos não estiverem vazios, a função submete (envia) o formulário.</p>
<p>Os passos de pegar os objetos dos elementos do documento são feitos com a função <em>getElementById()</em>, que é uma função do documento, por isso tenho que colocar o <em>document</em> antes da função<em> getElementById()</em>. Como parametro da  função <em>getElementById()</em> tenho que colocar o idetificador único do elemento, que se define pelo atributo <em>id</em>.</p>
<p>Se você está usando uma linguagem no lado do servidor (PHP, ASP ou outras), isso faz com que reduza a carga no servidor, pois tratamos certos erros antes de realmente enviar o formulário. E isso agiliza o processo para o cliente também, que não precisa esperar carregar uma nova página para saber que o formulário que ele tentou enviar está faltando alguma coisa ou está errado.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.comocriarsites.com/javascript/funcao-getelementbyid-do-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pegando Posição Absoluta de um Elemento HTML (Javascript)</title>
		<link>http://www.comocriarsites.com/javascript/pegando-posicao-absoluta-de-um-elemento-html-javascript/</link>
		<comments>http://www.comocriarsites.com/javascript/pegando-posicao-absoluta-de-um-elemento-html-javascript/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 06:36:42 +0000</pubDate>
		<dc:creator>Raoni Novellino</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[absoluta]]></category>
		<category><![CDATA[criar site]]></category>
		<category><![CDATA[fazer site]]></category>
		<category><![CDATA[getElementById]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[posição]]></category>
		<category><![CDATA[site]]></category>

		<guid isPermaLink="false">http://www.comocriarsites.com/?p=23</guid>
		<description><![CDATA[Uma maneira simples de saber qual a posição absoluta de um elemento HTML (posição onde o elemento está em relação a área de exibição de páginas do navegador), é usando um algorítimo em Javascript. Esse algorítimo pega a posição relativa do elemento, e depois a posição relativa do elemento pai (parent), depois do pai do [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: xx-large;">U</span>ma maneira simples de saber qual a posição absoluta de um elemento HTML (posição onde o elemento está em relação a área de exibição de páginas do navegador), é usando um algorítimo em <em>Javascript</em>. Esse algorítimo pega a posição relativa do elemento, e depois a posição relativa do elemento <em>pai</em> (parent), depois do <em>pai</em> do <em>pai</em> e assim até um elemento não ter um elemento <em>pai</em>.</p>
<p>O algorítimo:</p>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>function findPosX(obj)
{
	var curleft = 0;
	if(obj.offsetParent)
		while(1)
		{
			curleft += obj.offsetLeft;
			if(!obj.offsetParent)
				break;
			obj = obj.offsetParent;
		}
	else if(obj.x)
		curleft += obj.x;

	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if(obj.offsetParent)
		while(1)
		{
			curtop += obj.offsetTop;
			if(!obj.offsetParent)
				break;
			obj = obj.offsetParent;
		}
	else if(obj.y)
		curtop += obj.y;

	return curtop;
}</pre>
</div>
<p>São dois algorítimos, um para a posição horizontal (<em>findPosX</em>) e outro para a posição vertical (<em>findPosY</em>). Os dois recebem um atributo de nome <em>obj</em> que é o objeto do elemento que você quer saber a posição e retornam um inteiro, que é a posição do elemento no documento HTML.</p>
<p>As funções do <em>Javascript</em> <strong><em>offsetLeft</em></strong> e <strong><em>offsetTop</em></strong>, retornam um inteiro que é a distântcia em pixels entre o elemento passado como paramatro e o elemento pai desse elemento passado comoparametro. A diferença entre as duas é que a primeira (<strong><em>offsetLeft</em></strong>), retorna a distância da esquerda entre o elemento e seu elemento pai, e a segunda (<strong><em>offsetTop</em></strong>), retorna a distância de cima entre o elemento e seu elemento pai.</p>
<p>Abaixo um exemplo de uso:</p>
<div style="background-color: #FFFFFF; overflow-x: auto;">
<pre>&lt;html&gt;
&lt;head&gt;
	&lt;title&gt;Teste de Posicionamento em Javascript&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;script language="JavaScript"&gt;

function findPosX(obj)
{
  var curleft = 0;
  if(obj.offsetParent)
      while(1)
      {
        curleft += obj.offsetLeft;
        if(!obj.offsetParent)
          break;
        obj = obj.offsetParent;
      }
  else if(obj.x)
      curleft += obj.x;
  return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if(obj.offsetParent)
		while(1)
		{
			curtop += obj.offsetTop;
			if(!obj.offsetParent)
				break;
			obj = obj.offsetParent;
		}
	else if(obj.y)
		curtop += obj.y;

	return curtop;
}

&lt;/script&gt;

&lt;table&gt;
	&lt;tr&gt;
		&lt;td&gt;Linha 1&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;Linha 2&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;
		&lt;table&gt;
			&lt;tr&gt;
				&lt;td id="td_posicao"&gt;Quero saber a posicao desse TD&lt;/td&gt;
			&lt;/tr&gt;
		&lt;/table&gt;
		&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;script language="JavaScript"&gt;

var td_pos_obj = document.getElementById('td_posicao');

var x = findPosX(td_pos_obj);
var y = findPosY(td_pos_obj);

alert('pos x: ' + x + ' - pos y: ' + y);

&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
</div>
<p>Algumas explicações:</p>
<p>A linha &#8220;<span style="color: #000080;"><em>var td_pos_obj = document.getElementById(&#8217;td_posicao&#8217;);</em></span>&#8221; faz a variável <em>td_pos_obj</em> ficar identificando o elemento que e quero saber a posição. Pode ver que na tag <em><strong>&lt;td&gt;</strong></em> que eu quero saber a posição, tem um atributo <em>id</em>, com valor igual a <em>td_posicao</em>. Isso serve para eu identificar o elemento e depois poder saber qual ele é facilmente utilizando a função <em>getElementById</em> do Javascript. Essa função é boa porque funciona tanto no IE (acho que pelo menos no 6 e no 7) e no Firefox (testado na versao 2 e 3).</p>
<p>Se você quer saber a diferênça entre os valores do estilo (style) <em>position</em>, acesse: <a title="CSS Style Position: Diferença entre Relative, Absolute e Static" href="http://www.comocriarsites.com/html-css/css-style-position-diferenca-entre-relative-absolute-e-static/">CSS Style Position: Diferença entre Relative, Absolute e Static</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.comocriarsites.com/javascript/pegando-posicao-absoluta-de-um-elemento-html-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
