Ir para conteúdo

POWERED BY:

Arquivado

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

Boris

Select não funciona

Recommended Posts

Galera estou com o codigo que peguei no forum porem o select não está funcionando alguem poderia me ajudar...

 

ele não aparece nenhum erro, simplesmente aparece apenas o combo sem o select

 

pagina.asp

<!--#include file="function.asp"-->
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("select[name='nome']").change(function(){
$("input[name='endereco']").val('Carregando...');
$("input[name='telefone']").val('Carregando...');
$.getJSON(
    'function.asp',
	{idCliente: $(this).val()},
	function(data){
	            $.each(data, function(i, obj){
				                    $("input[name='endereco']").val(obj.endereco);
									$("input[name='telefone']").val(obj.telefone);
				})
	});
});
});
</script>
</head>
<body>
<form action="" method="post">
<label>Nome: <select name="nome">
<option value="">--</option>
<!--#include file="function.asp"-->
<% response.write(montaSelect()) %>
</select></label>
<label>Endereço: <input type="text" name="endereco" value="" /></label>
<label>Telefone: <input type="text" name="telefone" value="" /></label>
</form>
</body>
</html>

 

 

 

Function.asp

<%
set conexao=server.CreateObject("adodb.connection")
dados = "Provider=sqloledb;Data Source=SQLEXPRESS;Initial Catalog=banco;User Id=sa;Password=123456;"
conexao.open dados


'dim conn
'set conn = server.CreateObject("Adodb.Connection")
'        conn.connectionString = "Driver=MySQL ODBC 3.51 Driver; DataBase=ajax; Server=localhost; Uid=root; Pwd=123;"
'  		 conn.open
 
'função que retorna o select
function montaSelect()
	set dados = conn.execute("SELECT codigo_cliente, cliente_varejo FROM clientes_varejo")
		if (not dados.eof) then
			while (not dados.eof)
				response.write("<option value="""&dados("codigo_cliente")&""">"&dados("nome")&"</option>")
			rs.movenext : wend 
		else
		        response.write("<option value=""0"">Nenhum cliente cadastrado</option>")
		end if 
	set dados = nothing
end function

'função que devolve em formato JSON os dados do cliente
function retorna(id)
	set rs = conn.execute("SELECT * FROM clientes_varejo")
		if (id <> "") then
				set dados = conn.execute("SELECT * FROM clientes_varejo WHERE codigo_Cliente = '"&id&"'")
	
					'json = "var dados = ";
					json = " [" 
	
						if (not dados.eof) then 
							json = json + "{endereco: '{"&dados("endereco")&"}', telefone: '{"&dados("telefone")&"}'}"
						else
							json = "endereco: não encontrado" 
						end if
	
					json = json + "]"
					'$json = json + ";"
				
				set dados = nothing
			else
			                json = "endereco: não encontrado"
			end if
			
			response.write(json)
		set rs = nothing
end function
'só se for enviado o parâmetro, que devolve o combo
if (request.queryString("codigo_Cliente") <> "") then
	response.write(retorna(request.queryString("codigo_Cliente")))
end if
%>


Valew galera...

Compartilhar este post


Link para o post
Compartilhar em outros sites

teste a pagina de funções sem chamar o jQuery, veja se apresenta erros!

 

 

eu tirei o script que chama a jquery e a pagina so ficou um pouco mais demorada mas da no mesmo

 

so aparece o combo vazio e não aparece as demais text box

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

teste a pagina de funções sem chamar o jQuery, veja se apresenta erros!

 

 

eu tirei o script que chama a jquery e a pagina so ficou um pouco mais demorada mas da no mesmo

 

so aparece o combo vazio e não aparece as demais text box

 

Fiz alguns testes agora e testei se está conectando e está sim...

 

Conseguir fazer aparecer os combos

 

porem quando seleciono o nome os demais text box so fica a mensagem carregando..... e não está me passando nenhuma informação

 

PAGINA.ASP

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(
function(){
$("select[name='nome']").change(
function(){
$("input[name='endereco']").val('Carregando...');
$("input[name='telefone']").val('Carregando...');
$.getJSON(
    'function.asp',
	{codigo_Cliente: $(this).val()},
	function(data){
	            $.each(data, function(i, obj){
				                    $("input[name='endereco']").val(obj.endereco);
									$("input[name='telefone']").val(obj.telefone);
				})
	});
});
});
</script>
</head>
<body>
<form action="" method="post">
<label>Nome: <select name="nome">
<option value="">--</option>
<!--#include file="function.asp"-->
<% response.write(montaSelect()) %>
</select></label>
<label>Endereço: <input type="text" name="endereco" value="" /></label>
<label>Telefone: <input type="text" name="telefone" value="" /></label>
</form>
</body>
</html>

 

FUNCTION.ASP

<%
function montaSelect()
set conexao=server.CreateObject("adodb.connection")
dados = "Provider=sqloledb;Data Source=SQLEXPRESS;Initial Catalog=banco;User Id=sa;Password=123456;"
conexao.open dados

set dados = conexao.execute("SELECT codigo_cliente, cliente_varejo FROM clientes_varejo order by cliente_varejo asc")
		if (not dados.eof) then
			while (not dados.eof)
				response.write("<option value="""&dados("codigo_cliente")&""">"&dados("cliente_varejo")&"</option>")
			dados.movenext : wend 
		else
		        response.write("<option value=""0"">Nenhum cliente cadastrado</option>")
		end if 
	set dados = nothing
end function

'função que devolve em formato JSON os dados do cliente

function retorna(id)
	set rs = conexao.execute("SELECT * FROM clientes_varejo")
		if (id <> "") then
				set dados = conexao.execute("SELECT * FROM clientes_varejo WHERE codigo_Cliente = '"&id&"'")
	
					'json = "var dados = ";
					json = " [" 
	
						if (not dados.eof) then 
							json = json + "{endereco: '{"&dados("endereco")&"}', telefone: '{"&dados("telefone")&"}'}"
						else
							json = "endereco: não encontrado" 
						end if
	
					json = json + "]"
					'$json = json + ";"
				
				set dados = nothing
			else
			                json = "endereco: não encontrado"
			end if
			
			response.write(json)
		set rs = nothing
end function
'só se for enviado o parâmetro, que devolve o combo
if (request.queryString("codigo_Cliente") <> "") then
	response.write(retorna(request.queryString("codigo_Cliente")))
end if
%>

 

 

valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não programo em ASP.. mas o script original em php, e o jQuery são meus.. acesse diretamente a página:

 

function.asp?codigo_Cliente=1

 

Ou sei lá como funciona a querystring de asp.. mas deverá te retornar o objeto jSON ou um erro.

Vá fazendo alerts no código JS para ver se as variáveis estão com valores corretos tb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não programo em ASP.. mas o script original em php, e o jQuery são meus.. acesse diretamente a página:

 

function.asp?codigo_Cliente=1

 

Ou sei lá como funciona a querystring de asp.. mas deverá te retornar o objeto jSON ou um erro.

Vá fazendo alerts no código JS para ver se as variáveis estão com valores corretos tb.

 

OK ;-p

 

Agora deu certinho

 

Estou postando o codigo;

 

No caso do endereco eu pego de uma tabela endereco porem gostaria de colocar dentro do text box o tipo_logradouro como faço isso ???

 

PAGINA.ASP

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(
function(){
$("select[name='nome']").change(
function(){
$("input[name='endereco']").val('Carregando...');
$("input[name='telefone']").val('Carregando...');
$.getJSON(
    'function.asp',
	{codigo_Cliente: $(this).val()},
	function(data){
	            $.each(data, function(i, obj){
				                    $("input[name='endereco']").val(obj.endereco);
									$("input[name='telefone']").val(obj.telefone);
				})
	});
});
});
</script>
</head>
<body>
<form action="" method="post">
<label>Nome: <select name="nome">
<option value="">--</option>
<!--#include file="function.asp"-->
<% response.write(montaSelect()) %>
</select></label>
<br>
<br>
<label>Endereço: <input name="endereco" type="text" value="" size="100" />
</label>
<label><br>
<br>
Telefone: 
<input name="telefone" type="text" value="" size="50" />
</label>
</form>
</body>
</html>

FUNCTION.ASP

<%
set conexao=server.CreateObject("adodb.connection")
dados = "Provider=sqloledb;Data Source=SQLEXPRESS;Initial Catalog=banco;User Id=sa;Password=123456;"
conexao.open dados

function montaSelect()
set dados = conexao.execute("SELECT codigo_cliente, cliente_varejo FROM clientes_varejo order by cliente_varejo asc")
		if (not dados.eof) then
			while (not dados.eof)
				response.write("<option value="""&dados("codigo_cliente")&""">"&dados("cliente_varejo")&"</option>")
			dados.movenext : wend 
		else
		        response.write("<option value=""0"">Nenhum cliente cadastrado</option>")
		end if 
	set dados = nothing
end function

'função que devolve em formato JSON os dados do cliente

function retorna(id)
	set rs = conexao.execute("SELECT * FROM clientes_varejo")
		if (id <> "") then
				set dados = conexao.execute("SELECT * FROM clientes_varejo WHERE codigo_Cliente = '"&id&"'")
	
					'json = "var dados = ";
					json = " [" 
	
						if (not dados.eof) then 
							json = json + "{endereco: '"&dados("tipo_logradouro")&"', telefone: '"&dados("telefone")&"'}"
						else
							json = "endereco: não encontrado" 
						end if
	
					json = json + "]"
					'$json = json + ";"
				
				set dados = nothing
			else
			                json = "endereco: não encontrado"
			end if
			
			response.write(json)
		set rs = nothing
end function
'só se for enviado o parâmetro, que devolve o combo
if (request.queryString("codigo_Cliente") <> "") then
	response.write(retorna(request.queryString("codigo_Cliente")))
end if
%>

Valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se os dadops estao xegando corretamente, faz o teste nas variaveis para ver o k esta sendo passado

dá um response.write na sua string SQL e veja o k esta passando tb

 

No caso do endereco eu pego de uma tabela endereco porem gostaria de colocar dentro do text box o tipo_logradouro como faço isso ???

 

para isso atribua o endereço no value do textbox

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se os dadops estao xegando corretamente, faz o teste nas variaveis para ver o k esta sendo passado

dá um response.write na sua string SQL e veja o k esta passando tb

 

No caso do endereco eu pego de uma tabela endereco porem gostaria de colocar dentro do text box o tipo_logradouro como faço isso ???

 

para isso atribua o endereço no value do textbox

 

Consegui

 

eu alterei a linha da function

 

	json = json + "{endereco: '"&trim(dados("tipo_logradouro"))&": "&dados("endereco")&"', telefone: '"&dados("telefone")&"' , cpf: '"&dados("cpf_cgc")&"'}"

Valew....

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza...

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza...

 

Estou tentando trocar o combo por um Input que ao der enter ou tab ele me traga as informações

 

estive me baseando em uma alteração que foi feito no PHP no link abaixo mas não cosegui.

 

ao colocar o cpf não acontece nada.

 

http://forum.imasters.com.br/index.php?/topic/360555-atualizar-campo-de-form-sem-atualizar-a-pagina/page__p__1375347entry1375347

 

PAGINA.ASP

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(
function(){
$("select[name='nome']").blur(
function(){
$("input[name='endereco']").val('Carregando...');
$("input[name='telefone']").val('Carregando...');
$("input[name='cpf']").val('Carregando...');
$.getJSON(
    'function.asp',
	{cpf: $(this).val()},
	function(data){
	            $.each(data, function(i, obj){
				                    $("input[name='endereco']").val(obj.endereco);
									$("input[name='telefone']").val(obj.telefone);
									$("input[name='cpf']").val(obj.cpf);
				})
	});
});
});
</script>
</head>
<body>
<form action="" method="post">
<label>CPF :  <input type="text" name="cpf" size="15" /></label><br>
<br>
<br>
<label>Endereço: <input name="endereco" type="text" value="" size="100" />
</label>
<label><br>
<br>
Telefone: 
<input name="telefone" type="text" value="" size="50" />
</label>
</form>
</body>
</html>

FUNCTION.ASP

<%
set conexao=server.CreateObject("adodb.connection")
dados = "Provider=sqloledb;Data Source=SQLEXPRESS;Initial Catalog=banco;User Id=sa;Password=123456;"
conexao.open dados

function montaSelect()
set dados = conexao.execute("SELECT codigo_cliente, cliente_varejo FROM clientes_varejo order by cliente_varejo asc")
		if (not dados.eof) then
			while (not dados.eof)
				response.write("<option value="""&dados("codigo_cliente")&""">"&dados("cliente_varejo")&"</option>")
			dados.movenext : wend 
		else
		        response.write("<option value=""0"">Nenhum cliente cadastrado</option>")
		end if 
	set dados = nothing
end function

'função que devolve em formato JSON os dados do cliente

function retorna(cpf)
	set rs = conexao.execute("SELECT * FROM clientes_varejo")

				set dados = conexao.execute("SELECT * FROM clientes_varejo"
							v_dados=""
							if (cpf <> "") then	
							v_dados = " WHERE cpf_cgc='"&cpf&"'")
							
					'json = "var dados = ";
					json = " [" 
	
						if (not dados.eof) then 
							json = json + "{endereco: '"&trim(dados("tipo_logradouro"))&": "&dados("endereco")&"', telefone: '"&dados("telefone")&"' , cpf: '"&dados("cpf_cgc")&"'}"
						else
							json = "endereco: não encontrado" 
						end if
	
					json = json + "]"
					'$json = json + ";"
				
				set dados = nothing
			else
			                json = "endereco: não encontrado"
			end if
			
			response.write(json)
		set rs = nothing
end function
'só se for enviado o parâmetro, que devolve o combo
if (request.queryString("codigo_Cliente") <> "") then
	response.write(retorna(request.queryString("codigo_Cliente")))
end if
%>

valew pela força mais uma vez galera.

Compartilhar este post


Link para o post
Compartilhar em outros sites

trocar o combo por um Input que ao der enter ou tab ele me traga as informações

 

você pode usar o evento onblur no campo e executar a pagina ASP k faz um select no bd

Compartilhar este post


Link para o post
Compartilhar em outros sites

trocar o combo por um Input que ao der enter ou tab ele me traga as informações

 

você pode usar o evento onblur no campo e executar a pagina ASP k faz um select no bd

 

mas como estaria colocando nesta programação...

 

pelo que vi no link que passei tinha que mudar em varios parametros ....

 

?!?!?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

altere o evento apenas, onBlur, ocorre quando o objeto perde o foco (lugar onde esta o ponteiro do mouse), se você clicar em outro lugar da página ele é executado.

muda no input textbox

Compartilhar este post


Link para o post
Compartilhar em outros sites

altere o evento apenas, onBlur, ocorre quando o objeto perde o foco (lugar onde esta o ponteiro do mouse), se você clicar em outro lugar da página ele é executado.

muda no input textbox

 

Então meu codigo já está com o blur

e aparentimente não tenho um nome de function....

 

Desculpa é que sou leigo....

 

<script type="text/javascript">
$(document).ready(
function(){
$("select[name='nome']").blur(
function(){
$("input[name='endereco']").val('Carregando...');
$("input[name='telefone']").val('Carregando...');
$("input[name='cpf']").val('Carregando...');
$.getJSON(
    'function.asp',
	{cpf: $(this).val()},
	function(data){
	            $.each(data, function(i, obj){
				                    $("input[name='endereco']").val(obj.endereco);
									$("input[name='telefone']").val(obj.telefone);
									$("input[name='cpf']").val(obj.cpf);
				})
	});
});
});
</script>

 

<body>
<form action="" method="post">
<label>CPF :  <input type="text" name="cpf" size="15" onBlur="" /></label><br>
<br>
<br>
<label>Endereço: <input name="endereco" type="text" value="" size="100" />
</label>
<label><br>
<br>
Telefone: 
<input name="telefone" type="text" value="" size="50" />
</label>
</form>
</body>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, se o campo que você quer disparar se chama cpf, oque que o nome está fazendo ali??

$(document).ready(function(){
  $("select[name='cpf']").blur(function(){

     $("input[name='endereco']").val('Carregando...');
     $("input[name='telefone']").val('Carregando...');
     $("input[name='cpf']").val('Carregando...');
Poxa vida... não precisa acabar com a identação do meu script ^_^

 

E no server-side, atente ao que está chegando lá:

if (request.queryString("cpf") <> "") then
        response.write(retorna(request.queryString("cpf")))
end if
procure entender o script para usar ele!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, se o campo que você quer disparar se chama cpf, oque que o nome está fazendo ali??

$(document).ready(function(){
  $("select[name='cpf']").blur(function(){

     $("input[name='endereco']").val('Carregando...');
     $("input[name='telefone']").val('Carregando...');
     $("input[name='cpf']").val('Carregando...');
Poxa vida... não precisa acabar com a identação do meu script ^_^

 

E no server-side, atente ao que está chegando lá:

if (request.queryString("cpf") <> "") then
        response.write(retorna(request.queryString("cpf")))
end if
procure entender o script para usar ele!!

 

Boa tarde William, desculpa pela identação é que quando seleciona e copia ele perde a mesma.

 

Desculpa mesmo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

$("select[name=nome]").blur

 

name='cpf',

Compartilhar este post


Link para o post
Compartilhar em outros sites

$("select[name=nome]").blur

 

name='cpf',

 

Já alterei e não acontece nada, fica em branco os demais campos...

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.