Ir para conteúdo

POWERED BY:

Arquivado

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

kania

Variavel não grava a session

Recommended Posts

Gente é assim,

 

Tenho este código:

 

$(document).ready(function(){	   
	$("input[name=tipo]").click(function(){
			$.post("busca_servico.asp", 
				   {tipo:$(this).val()})
		})
	})

Com ele mando a informação para a página busca_servico.asp a informação de qual foi o radio botton que foi selecionado, esta informação eu gravo em session para usar depois.

 

Bom com esta session gravada depois eu faço um select (autocomplete) onde este select é feito conforme a infomração que tem ana sessions gravada anteriormente.

 

Usando o Firebug do Firefox, quando eu clico em um dos radio buttons ele envia a informação correta, porem não sei o porque que quando eu começo a digitar no campo input text os daos para fazer o autocomplete, a session vem vazia, se eu já tinha gravado ela antes.

 

Bom deveria funcionar

 

Abaixo os códigos do selects e do autocomplete

 

Autocomplete

 

//==========================================
//FUÇÃO PARA PEGAR O TIPO DE BUSCA
$(document).ready(function(){	   
	$("input[name=tipo]").click(function(){
			$.post("busca_servico.asp", 
				   {tipo:$(this).val()})
		})
	})

//==========================================
//FUÇÃO PARA AUTOCOMPLETE DA BUSCA DE TOPO
//==========================================
$(document).ready(function() {
	$('#oque').autocomplete(
		"busca_servico.asp",
		{
			delay:10,
			minChars:2,
			matchSubset:1,
			matchContains:1,
			cacheLength:10,
			autoFill: true,
			lineSeparator: "\n",
			width: 540
		})
	})

//==========================================
//FUNÇÃO PARA PREENCHIMENTO DE COMBO ESTADO
//==========================================
$(document).ready(function(){
 $("input[name=oque]").blur(function(){
	$("select[name=uf]").html('<option value="0">Carregando...</option>');
	$.post("busca_estados.asp", 
		  {uf:$(this).val()},
		  function(valor){
			 $("select[name=uf]").html(valor);
		  }
		  )
 })
//==========================================
//FUNÇÃO PARA PREENCHIMENTO DE COMBO CIDADE
//==========================================
$(document).ready(function(){
 $("select[name=uf]").change(function(){
	$("select[name=cidade]").html('<option value="0">Carregando...</option>');
	$.post("busca_cidades.asp", 
		  {cidade:$(this).val()},
		  function(valor){
			 $("select[name=cidade]").html(valor);
		  }
		  )
 }) 
})
})

Código do Select

 

<!--#include file="bd/config.asp"-->
<%
	q = Request.QueryString("q")
	Serv = Request.form("tipo")
	Session("Serv") = Serv
	
	If Session("Serv") = 1  or Session("Serv") = 0 Then
	
		Set RS = Server.CreateObject("adodb.recordset")
		SQL = "SELECT sub_categorias.SubCategoria, sub_categorias_anunciantes.id_anunciante, cadastro_usuarios.id_cadastro, sub_categorias_anunciantes.id_sub_categoria"&_
		" FROM cadastro_usuarios"&_
		" INNER JOIN sub_categorias_anunciantes"&_
		" ON cadastro_usuarios.id_cadastro = sub_categorias_anunciantes.id_anunciante"&_
		" INNER JOIN sub_categorias"&_
		" ON sub_categorias_anunciantes.id_sub_categoria = sub_categorias.IdSubCategoria"&_
		" where sub_categorias.SubCategoria like '"&q&"%' Group By sub_categorias.SubCategoria LIMIT 0,20"
		
		RS.Open SQL,Conn,3,3
		
		WHILE NOT rs.EOF
		Subs = Rs("SubCategoria")
		IdCad = Rs("id_cadastro")
		IdSub = Rs("id_sub_categoria")
		
		response.Write(Subs& vbcrlf)
		
		Rs.MOVENEXT
		WEND
		rs.close()
		set rs = nothing
	
	Else
	
		Set RS = Server.CreateObject("adodb.recordset")
		SQL = "SELECT cadastro_usuarios.id_cadastro, palavras_chaves.id_palavra, palavras_chaves.palavra"&_
		" FROM cadastro_usuarios"&_
		" INNER JOIN palavras_chaves"&_
		" ON cadastro_usuarios.id_cadastro = palavras_chaves.id_anunciante"&_
		" WHERE palavras_chaves.palavra LIKE '"&q&"%'"&_
		" GROUP BY palavras_chaves.palavra LIMIT 0,20"
		
		RS.Open SQL,Conn,3,3
		
		WHILE NOT rs.EOF
		Palavra = Rs("palavra")
		IdPal = Rs("id_palavra")
		
		Response.Write(Palavra& vbcrlf)
		
		rs.MOVENEXT
		WEND
		rs.close()
		set rs = nothing
	
	End IF
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um resopnse.write na variavel para ver o que esta sendo passada

 

Serv = Request.form("tipo
Session("Serv") = Serv        
response.write(Serv)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa xanburzum, então foi exatamente o que eu tinha feito antes, e foi assim que eu descobri que a session estava chegando vazia em determinado momento.

 

Porque é assim, tenho 2 momentos.

 

1 - Quando eu inicio a busca e escolho se quero fazer a busca por Tipo de Serviço ou Por Palavras Chaves, ao clicar em uma das opções o código manda a informação para a pagina de busca e a sesison grava esta informação, neste primeiro processo ele esta granvado.

 

2 - Uma vez que foi selecionado o tipo de busca, ai eu vou começar digitar no campo input text o que eu quero buscar, este campo é eutocomplete, ao encontrar o selecionar a opção que eu quero do autocomplete ele envia novamente agora esta nova informação para a pagina de busca porem esta busca deveria já pegar agora a session antes de enviar a informação pois já tinha gravado ela anteriormente, não sei pq neste momento a session vem vazia.

Compartilhar este post


Link para o post
Compartilhar em outros sites

para fins de teste, tenta antes limpar a session...

 

response.expires = 0
response.expiresabsolute = Now() -1
response.addHeader "pragma","no-cache"
response.addHeader "cache-control","private"
Response.CacheControl = "no-cache"
Session.Contents.RemoveAll(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testei e veja que louco.

 

Seleciono a opção 1 por ex. funciona beleza, quando seleciono a opção 2 ele não recria a seção, continua com o valor da opção 1, e da mesma forma se eu atualizar a pagina e escolher a opção 2 como primeira.

 

A primeira opção escolhida permanece, a session não esta sendo destruida como deveria. que loucura.

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um Session.Contents.RemoveAll()

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.