Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho um formulario em uma pagina em asp.
Existe um campo chamado código,
Quando o usuario digitar o código e sair do campo preciso fazer um select no banco de dados e exibir no campo descrição
o nome do item relacionado ao código.
Não consegui converter para o ASP, e o banco que estou usando é o SQL.
segue em asp:
SQL é a linguagem.
O teu banco ou é:
MSSQL, ou MySQL, ou Access..
MSSQL , obrigado
Os campos ficam CARREGANDO...
Na pagina .asp
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("input[name='codigo']").blur(function(){
$("input[name='produto']").val('Carregando...');
$("input[name='preco']").val('Carregando...');
$.getJSON(
'function.asp',
{codigo: $(this).val()},
function(data){
$.each(data, function(i, obj){
$("input[name='produto']").val(obj.produto);
$("input[name='preco']").val(obj.preco); })
});
});
});
</script>
</head>
<label>
<input name="codigo" type="text" class="wphead_2" id="codigo" value="" size="6" onblur="" />
</label></td>
<td height="0"><label>produto:<input name="produto" type="text" class="wphead_2" id="produto" value="" size="100" /></label></td>
<td height="0"></td>
<td><input name="preco" type="text" class="wphead_2" id="preco" value="" size="6" /></td>
</tr>
na pagina function.asp
set conexao=server.CreateObject("adodb.connection")
dados = "Provider=sqloledb; Network Library=DBMSSOCN; Data Source=192.168.0.2oo,1433; Initial Catalog=BANCO; User ID=sa;Password=senha1"
conexao.open dados
function montaSelect()
set dados = conexao.execute("SELECT * From Inventtable ")
if (not dados.eof) then
while (not dados.eof)
response.write("<option value="""&dados("ITEMID")&""">"&dados("ITEMID")&"</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(codigo)
set rs = conexao.execute("SELECT * From Inventtable")
set dados = conexao.execute("SELECT * From Inventtable ")
if (codigo <> "") then
v_dados = " WHERE ITEMID ='"&codigo&"'"
'json = "var dados = ";
json = " ["
if (not dados.eof) then
'response.write json
json = json + "{produto: '"&dados("ITEMNAME")&"', preco: '"&dados("ITEM")&"' }"
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") <> "") then
response.write(retorna(request.queryString("codigo")))
end if
%>Acesse o arquivo que gera o jSON diretamente, mandando o parâmetro pra ele:
localhost/function.asp?codigo=1
e veja se retorna um jSON ou erros, se voltar erros, então o teu problema é ASP. Arrume.
Retorna erro:
ADODB.Recordset erro '800a0cc1'
O item não pode ser encontrado na coleção correspondente ao nome ou ao ordinal solicitado.
/sistema/representantes/function.asp, line 35
A linha 35 é
json = json + "{produto: '"&dados("ITEMNAME")&"', preco: '"&dados("ITEM")&"' }"
Quer que eu mova pra ASP ?
não programo em ASP, e essa tua dúvida, não tem nada a ver com Javascript.
Obrigado,
vou tentar encontrar uma solução.
Abraços
Dá uma olhada nesse exemplo:
http://forum.imasters.com.br/index.php?/topic/360555-atualizar-campo-de-form-sem-atualizar-a-pagina/page__p__1375347entry1375347
tem aqui pelo fórum a adaptação dele para ASP tb.
Nesse trecho que postei, estão pegando pelo nome, mas você pode alterar para pegar pelo código.