Posicionamento da Tela (web)

Pessoal,

Em um sistema web, como vcs fazem para após um submit, o browser exibir a tela em um determinado ponto, e não no inicio da página?? Usa-se javaScript???

valew

Anderson

<table align="center" valign="middle"> <tr><td>teste</td></tr> </table>

Nao ligue pro nosso amigo Daniel. Ele ainda nao saiu de 1998.

:arrow: http://www.tableless.com.br

cv, preciso ler as mesmas coisas que você.
Ou vc tem um catálogo de soluções?

Olá

Faz mais ou menos um mês e pouco que alterei o layout básico dos meus documentos para eliminar os tables. Convenci o designer da empresa que sem tables os sites ficam iguais em qualquer browser.

Justamente hoje me dei mal. O designer veio me perguntar uma dúvida e não consegui resolver de jeito nenhum. Aparecia uma faixa onde não devia aparecer. Usar css é bem legal quando as coisas funcionam mas descobrir erro é difícil, mesmo no dreamweaver do cara cheio de recursos (não manjo xongas de dreamweaver).

Mas é legal esta idéia de só usar tabelas para mostrar tabelas e nunca para layout.

[]s
Luca

Pessoal,

mas minha pergunta não é com relação ao posicionamento na tela, mas sim, após um submit, a tela voltar em determinada posição…

pensei em usar ancoras, mas como estou usando struts, ainda não achei uma forma de utiliza-las…

aaraujo, o que você quer dizer por “tela”? A janela? Um frame seu? O seu form se dá numa tela a óleo?

ps.: tableless = lixo atômico :expressionless:

a tela à qual me refiro é o browser…

já consegui resolver, utilizando âncoras mesmo…

valew

Coloca este script aí nas tuas páginas

window.document.onclick = gravarScrollPosition;
recuperarscrollPos();



	//Pega valor do cookie atraves do nome do parametro
	function valorCookie(arrCookie, strParametro)
	{
		var arrValores;
		var i;
					
		for(i=0; i < arrCookie.length; i++) 
		{
			arrValores = arrCookie[i].split('=');
			
			if(Trim(arrValores[0]) == strParametro) 
			{							 
				return arrValores[1];
			}	
		}
		
		return '';		  
	}

			
	//Verifica se Parametro e valor existem no cookie
	function testarCookie(strParametro, strValor) 
	{  
		
		var strValorCks		
		var cokNome = Trim(document.cookie);       //cookie			
		var arrCookie = cokNome.split(';');
		
		if(verificarNome(arrCookie, strParametro))      //Verifica se parametro existe no cookie
		{   			
			
			strValorCks  = valorCookie(arrCookie, strParametro) //pega valor do coolie
									
			if (strValorCks  == strValorCks)
			{			
				 return true;
			}
			else
			{ 
				return false;
			}
				
		}
		else 
		{
			return false;
		}
	}

	
	//Retira espaco em branco
	function Trim(strValor)
	{
		var strAux ='';
			
		if(strValor == null)
		{
			return '';
		}
				
		for(i=0; i < strValor.length; i++)
		{		
			if(strValor.substring(i, i+1) != ' ')
			{
				strAux += strValor.substring(i, i+1);
			}
		}
			
		return strAux;	
	}

	
	//verificar se parametro existe no cookie
	function verificarNome(arrCookie, strParametro)
	{ 		    
		var arrValores
						
		
		for ( i=0; i< arrCookie.length; i++)
		{
			arrValores = arrCookie[i].split('=');
			
			if (arrValores[0] == strParametro)
			{				
				 return true;
			}
		}
		
		return false;
	}

	
	//grava cookie
	function gravarCookie(strParametro, strValor, strExpirar, strDominio)	
	{
		if(strExpirar != '')
		{
			strExpirar = 'expires=' + strExpirar + ';';
		}
		
		if(strDominio != '')
		{
			//strDominio = 'domain=http://' + strDominio + ';';
			strDominio = ''
		}

		
		window.document.cookie = strParametro + '=' + strValor + ';' + strDominio + strExpirar ;


	}

	
	function recuperarscrollPos() 
	{			
		//url pg atual
		strUrlAtual =  window.location.href;
		
		//URL sem parametros
		indiceParam = strUrlAtual.indexOf('?') < 0?strUrlAtual.length : strUrlAtual.indexOf('?');		
		strUrlAtual = strUrlAtual.replace(strUrlAtual.substring(indiceParam, strUrlAtual.length), '')
		
		
		var arrCookie;
		arrCookie = window.document.cookie.split(';');		

		//url Cookie
		strUrlCookie = valorCookie(arrCookie, 'cokUrl');
		//alert(strUrlCookie)
		//URL sem parametros
		indiceParam = strUrlCookie.indexOf('?') < 0?strUrlCookie.length : strUrlCookie.indexOf('?');		
		strUrlCookie = strUrlCookie.replace(strUrlCookie.substring(indiceParam, strUrlCookie.length), '')
	//alert('cokUrl' + ' *** ' + arrCookie)
	//alert(strUrlCookie.length)
	//alert(strUrlCookie.substring(indiceParam, strUrlCookie.length))
	//alert('autal:' + strUrlAtual + ' - cookie: ' + strUrlCookie)
		if(strUrlCookie != '' && strUrlCookie  != null && strUrlAtual == strUrlCookie )
		{
			window.document.body.scrollTop = valorCookie(arrCookie, 'cokscroll')		
		}
		else
		{
			window.document.body.scrollTop = 0		
		}
		
	}

	
	function gravarScrollPosition(e)
	{	
		
		gravarCookie('cokscroll',window.document.body.scrollTop, '', document.location.host);
		gravarCookie('cokUrl', window.location.href, '',document.location.host);
		
	}
	
	function gravarScrollPos(strScrollPos, strLocalHost, strHref)
	{			
		
		gravarCookie('cokscroll', strScrollPos, '', strLocalHost);
		gravarCookie('cokUrl', strHref, '',strLocalHost);
	}


nossa, que complicação!

complicado mesmo…

com ancoras é bem mais simples… :smiley:

mas que funciona, funciona sim senhor :smiley:

prefiro assim!

Nao julgue o que vc nao conhece :wink:

Tableless/CSS/XHTML é o que há! :smiley:

Nao julgue o que vc nao conhece ;)[/quote]

conhecer e usar css é ótimo e deveria ser obrigatório há tantos anos quanto existe esta tecnologia. Que bom que a modinha ta pegando … Mas não usar tables … bah … só usar direito que qualquer navegador, que consiga interpretar o html padrão da w3c, vizualiza e redimensiona e posiciona tudo lindamente sem problemas.

Nao estou dizendo que table eh a nova encarnacao do capeta, Lipe… eh soh que table serve para fazer tabelas, e nao layout… usar a tag errada pra fazer o servico funciona, claro, mas ainda continua sendo a tag errada pra se fazer layouts - quando temos alternativas (div, span, e tal).

Na época do IE 4 / Netscape 4.X não existia SPAN ou DIV que funcionasse nos dois browsers.

Table acabou virando a solução.