Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fernando_ramos

[Resolvido] Ocultar DIV

Recommended Posts

Boa tarde.

 

Estou fazendo um SUGGEST em meu site. Já está funcionando.

Ao digitar no input aparece uma Div, abaixo do input com os valores sugeridos.

 

O único problema está quando o usuário clica fora do Input. Quero fechar a div neste momento.

 

 

 

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca no input o evento onblur

 

<input type="text" id="x" onblur="id_da_div.style.display='none';" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca no input o evento onblur

 

<input type="text" id="x" onblur="id_da_div.style.display='none';" />

Amigo,

Boa tarde.

 

Até funciona. Porém como o input é usado como suggest, ao clicar fora do input para selecionar alguma opção do SUGGEST ele não executa o onclick do suggest e sim o onblur do input.

 

Teria alguma sugestão para isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando clicar no sugest, você quer que oculte todo o suggest é isso mesmo?

 

se for coloca um onclick nas linhas do suggest para fechar a div

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao digitar no input(evento onkeyup) executa uma função que cria um DIV abaixo do input e via AJAX faz requisições no banco e monta uma tabela dentro desta DIV. No onclick das linhas da tabela tenho uma função que envia o valor clicado para o input e fecha (Remove) a DIV do suggest.

 

O problema de colocar um display=none no onblur do input é que ao sair do input para clicar em algum item do suggest executa a função q está no onblur, que por sua vez oculta a DIV e não executa o onclick da linha da tabela (SUGGEST), ou seja, ele oculta a DIV mas não envia o valor clicado para o input.

 

 

compliquei? rs....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apesar de não ter entendido muito bem a dúvida final, acho que isso que você quer:

 

JavaScript

window.onload = disableDiv;

function disableDiv(){
	var idBox = document.getElementById("box");
	var iSearch = document.getElementById("search");
	
	iSearch.onblur = function(){
		if(this.value == "Buscar")
			idBox.style.display = "none";
	}
}
HTML

<div id="box">
	<form action="">
		<input type="text" id="search" value="Buscar" />
			<br /><br /><br />
		<input type="submit" value="Enviar" />
	</form>
</div>

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia.

 

Não sei se isso ajudaria. Para deixar mais claro, vou postar o código do que estou fazendo.

 

Input do formulário:

<input type="Text" name="TxtUnidade" id="TxtUnidade" size="80" onkeyup="Suggest(this,'unidade.php','10',5)" /><br />

Onde na função Suggest os parâmetros são:

 

[INPUT],[ARQUIVO QUE PROCESSA OS VALORES DO SUGGEST],[NÚMERO DE REGISTROS NO SUGGEST],[A PARTIR DE QUANTOS CARACTERES INICIA O SUGGEST]

O arquivo JS:

 

var DvSuggestID = "DvSuggest";

function Fechar(){
	if(document.getElementById(DvSuggestID)){
		document.body.removeChild(document.getElementById(DvSuggestID));
	}	
}

function Suggest(Inpt,Pag,Top,Ini){
	if(Inpt.value.length>=Ini){
		var DvSuggest   = document.createElement("div");
		var XhrSgt      = Nucleo();
		
		DvSuggest.setAttribute("id",DvSuggestID);
		
		Fechar();
		
		document.body.appendChild(DvSuggest);
		
		if(Inpt.value.length==0){
			document.body.removeChild(document.getElementById(DvSuggestID));
		}
		
		DvSuggest.style.backgroundColor = "#FF0000";
		DvSuggest.style.visibility      = "visible";
		DvSuggest.style.position        = "absolute";
		DvSuggest.style.width           = Inpt.offsetWidth+"px";	
		DvSuggest.style.top             = Inpt.offsetTop+21+"px";
		DvSuggest.style.left            = Inpt.offsetLeft+"px";
		DvSuggest.innerHTML             = "Aguarde ...";	
		
		XhrSgt.open('GET','modulos/modsuggest/'+Pag+'?Termo='+Inpt.value+'&Top='+Top+'&Obj='+Inpt.name,true);
		XhrSgt.onreadystatechange=function(){
										if(XhrSgt.readyState==4){
											if(XhrSgt.status==200){
												DvSuggest.innerHTML=XhrSgt.responseText;
											}
										}
								   };
		XhrSgt.send(null);
		
	} else {
		Fechar();		
	}
}
function SelOpc(Obj,Valor){
	document.getElementById(Obj).value=Valor;
	document.getElementById(Obj).focus();
	
	Fechar();	
}

 

 

Então o problema está em quando digito alguma coisa no input, aparece o suggest, porém ao clicar fora do input eu preciso executar a função Fechar(); que irá excluir a DIV. Porém clicar fora do input inclui também clicar no SUGGEST, então.... preciso fechar a DIV quando clico fora do input e fora do SUGGEST.

 

 

Muito enrolado?

 

rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.