Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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...'); 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></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 = nothingValew galera...
o que o firebug retorna?
>
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
>
>
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
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.
>
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
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
>
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....
beleza...
>
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.
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.
>
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
>
>
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 ....
?!?!?!
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
>
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...'); 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><input name="telefone" type="text" value="" size="50" />
</label>
</form>
</body>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!!
>
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....
$("select[name=nome]").blur
name='cpf',
>
$("select[name=nome]").blur
name='cpf',
Já alterei e não acontece nada, fica em branco os demais campos...
como ficou o código?
limpe o cache do browser
Já limpei e não deu certo...
meu codigo ficou assim:
PAGINA.ASP
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("select[name='cpf']").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" 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>
</html>
FUNCTION.ASP
<%
set conexao=server.CreateObject("adodb.connection")
dados = "Provider=sqloledb;Data Source=SQLEXPRESS;Initial Catalog=banco;User Id=sa;Password=12345;"
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
%>Consegui resolver parte do problema... pelo menos agora quando eu coloco o cpf aparece nas outros dois Input Carregando...
mas não estou conseguindo descobrir onde estou errando....
PAGINA.ASP
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("input[name='cpf']").blur(function(){
$("input[name='endereco']").val('Carregando...');
$("input[name='telefone']").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);
})
});
});
});
</script>
</head>
<body>
<form action="" method="post">
<label>CPF
<label>: <input type="text" name="cpf" /></label></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=12345;"
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("cpf_cgc")&""">"&dados("cpf_cgc")&"</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")
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
%>
obrigado
Eu lhe disse ali em cima, sobre esse trecho:
if (request.queryString("codigo_Cliente") <> "") then
response.write(retorna(request.queryString("codigo_Cliente")))veja:
>
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!!
você entendeu como funciona o script ??Faça oque eu lhe disse na minha primeira resposta nesse tópico.
Acesse diretamente a página:
function.asp?cpf=....
teste a pagina de funções sem chamar o jQuery, veja se apresenta erros!