Ir para conteúdo

Arquivado

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

biakelly

escolha de combo e preenchimento de input

Recommended Posts

Oi meninos, preciso de ajuda com uma tarefa.

 

Tenho uma tabela chamada COLEGIO e nela as colunas:

 

COL_ID

COL_NOME

COL_USUARIO

COL_IMAGEM

 

 

Bem eu quero fazer assim, listar em uma combo com os dados da coluna COL_NOME ao selecionar um nome desta combo preencher um imput com o dado da coluna COL_IMAGEM correspondente ao que selecionei.

 

é possível? :huh: Voces ja fizeram isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

basicamente, só submeter 1 form (onde estará o "select") a 1 2º form onde estará o input:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>teste combo para input</title>
</head>

<body>
Selecione um nome: <br /><br />
<form id="form1" name="form1" method="post" action="">
  <label></label>
  <label>
  <select name="select">
    <option value="Zé">Zé</option>
    <option value="João">João</option>
    <option value="Maricota">Maricota</option>
  </select>
  </label>
  <label>
  <input type="submit" name="Submit" value="clique aqui" />
  </label>
</form>

<%
dim nome
nome=request.form("select")

if(request.form("submit") <> "") then
%>

<p>você escolheu:</p>
<form id="form2" name="form2" method="post" action="">
  <label>
  <input type="text" name="textfield" value="<%=nome%>" />
  </label>
</form>
<%
end if
%>
<p> </p>
</body>
</html>

obs: se não quiser usar o botão "clique aqui" ai precisa usar javascript (evento "on change")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Fernando, humm, então não posso fazer assim quero pegar os dados do formulário, tipo assim: no combo aparecerá opçòes se estiver cadastro na tabela, digamos que tenha dois cadastros, ao selecionar um deles o campo input ser preenchido automaticamente de acordo com a coluna correspondente a seleção. neste caso que postou tenho que obrigatoriamente manter opçòes fixas

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entedi.. vc quer dizer que o combo será preenchido com banco de dados?

se sim, não muda nada, só conectar, fazer a consulta e preencher os options; ex. tosco:

'(aqui conexão, SQL, bla bla bla)

<form id="form1" name="form1" method="post" action="">
<select name="nome" size="1" class="input-text" id="nome" type="text">
<%
While (NOT rsDatas.EOF)
%>
<option value="<%=(rsDatas.Fields.Item("uma_coluna_da_tabela_geralmente_id").Value)%>"><%=(rsDatas.Fields.Item("outra_coluna_da_tabela").Value)%></option>
<%
rsDatas.MoveNext()
Wend
%>
</select>

se não é nada disso, foi mal.. boa sorte e até..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi,

 

Estou fazendo assim, mas ainda esta faltando preencher o input:

<select name="pessoas" >					<%					set rs = Server.CreateObject("ADODB.Recordset")					rs.ActiveConnection = MM_conn_STRING					rs.Source = "SELECT * FROM COLEGIO WHERE COL_ID  ORDER BY COL_DATED"					rs.CursorType = 0					rs.CursorLocation = 2					rs.LockType = 3					rs.Open()					rs_numRows = 0					%>					<%					While not rs.EOF					%>					<option value="<%=(rs.Fields.Item("COL_ID").Value)%>"><%=(rs.Fields.Item("COL_NAME").Value)%></option>					<%					rs.MoveNext()					Wend					%>					<option value="" selected></option>					</select>								<%if request.querystring("TYPE_ID") <> ("") thenCOL_ID = replace(request.querystring("COL_ID"),"'","")if COL_ID <> ("") then'busca os dados da pesso'carrega numa variávelCOL_NAME = rs("COL_NAME")end ifend if%><input name="NOME" type="text" class="input-text" value="<%=COL_NAME%>" size="60">					<%					rs.Close()					%>

 

Oi, eu achei algo próximo do que eu quero:

<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>New Page 1</title><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript" language="javascript"></script><script>function set(obj, v){$('#' + obj).val(v);	}</script></head>HTML<input type="text" id="mytxt" onkeyup="set('myddl', this.value);" /><br /><select id="myddl" onchange="set('mytxt', this.value)"><option value="teste">teste</option><option value="30">30</option><option value="abc12">abc12</option></select> 

Mas este exemplo pega o value do select, ai ja não serve.

 

é possível fazer dois combos dinamicos usando uma só tabela? Não tem como eu desmembrar ja que eu quero pegar o campo nome e o campo imagem.

 

 

Depois de tentar alguns exemplos não consegui adaptar, será que um de voces poderiam me ajudar neste caso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma olhada no fórum que coloquei vários exemplos de combos ainhados (preenchidos atráves da seleção de outros combo)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Xan, eu encontrei muita coisa sobre combo aninhado aqui no forum, inclusive algumas postagens suas, mas todos envolvem duas tabelas, no meu caso tenho uma tabela única que preciso ou utilizar um combo que traz as informações e ao selecionar preencher um imput com uma segunda coluna desta tabela ou duas combos. Até tentei mexer mas não saiu nada

Compartilhar este post


Link para o post
Compartilhar em outros sites

ao invés de usar 2 tabelas usa uma só, o conceito seria o mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou tentando adaptar o teu código, mas confesso que não estou conseguindo, não gosto muito de pedir mas tem como tu me ajudar nesta?

Compartilhar este post


Link para o post
Compartilhar em outros sites

como está o código atualamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Xan

 

Estou martelando assim:

<select name="pessoas" >
<%
set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = MM_conn_STRING
rs.Source = "SELECT * FROM COLEGIO WHERE COL_ID  ORDER BY COL_DATED"
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 3
rs.Open()
rs_numRows = 0
%>

<%
While not rs.EOF
%>

<option value="<%=(rs.Fields.Item("COL_ID").Value)%>"><%=(rs.Fields.Item("COL_NAME").Value)%></option>

<%
rs.MoveNext()
Wend
%>
<option value="" selected></option>	
</select>

<%
if request.querystring("TYPE_ID") <> ("") then
COL_ID = replace(request.querystring("COL_ID"),"'","")
if COL_ID <> ("") then
'busca os dados da pesso
'carrega numa variável
COL_NAME = rs("COL_NAME")
end if
end if
%>

<input name="NOME" type="text" class="input-text" value="<%=COL_NAME%>" size="60">
<%
rs.Close()
%>

Bem, o combo carrega sem problema, quando carrego o combo só consegui carregar o input com o Value do combo, não consegui pegar a segunda coluna do BD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola bom dia!

 

Tenta esse aki BiaKelly, ve se serve pra vc é um codigo JS

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
 
<script type="text/javascript">
function id(el) {
  return document.getElementById(el);
}
function mostra(element) {
  if (element.value) {
    id(element.value).style.display = 'block';
  }
}
function esconde_todos($element, tagName) {
  var $elements = $element.getElementsByTagName(tagName),
      i = $elements.length;
  while(i--) {
    $elements[i].style.display = 'none';
  }
}
window.addEventListener('load', function() {
  var $BiaLelly = id('BiaLelly'),
      $Lezão = id('Lezão'),
	  $Maria = id('Maria');
	  $José = id('José');
      $sexo  = id('sel-sexo');
 
  //mostrando no onload da página
  esconde_todos(id('palco'), 'div');
  mostra($sexo);
  //mostrando ao mudar o select
  $sexo.addEventListener('change', function() {
    esconde_todos(id('palco'), 'div');
    mostra(this);

  });
});
</script>

</head>
<body>


<table width="448" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><select name="Combo" id="sel-sexo">
      <option value="">--</option>
      <option value="BiaLelly">BiaLelly</option>
      <option value="Lezão">Lezão</option>
      <option value="Maria">Maria</option>
      <option value="José">José</option>
    </select></td>
    <td>
      
      <div id="palco">
        <div id="BiaLelly"><input type="text" name="textfield" value="<%=nome%>" />
        </div>
        <div id="Lezão"><img src="../../imagens/brasao_fantastic.png" alt="" width="50" height="50" /></div>
        <div id="Maria"><img src="../../imagens/brasao_ranchao.png" alt="" width="50" height="50" /></div>
        <div id="José"><img src="../../imagens/brasao_laranja.png" alt="" width="50" height="50" /></div>
      </div>
      
      
    </td>
  </tr>
  <tr>
    <td colspan="4"> 
    </td>
  </tr>
</table>

</body>
</html>

espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Lezão, tudo bem?

 

Vou usar este seu código para uma outra aplicação que estou trabalhando, acabou servindo sim. Obrigada!

 

Nesta questão atual, esta mais complexa :(

 

O que estou tentando fazer é pegar uma tabela chamada colégio que possui as colunas

 

COL_ID

COL_NOME

COL_USUARIO

COL_IMAGEM

Criar um combobox para selecionar a coluna "col_nome" e após selecionar o primeiro combo preencher um input ou até mesmo ouro combo com a coluna "col_imagem"correspondente a primeira seleção.

Ja encontrei isso com duas tabelas mas com uma estou com dificuldade :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Fernando, então seu exemplo funciona. mas encontrei uma barreira: Ao chamar no combo ok, mas para preencher o input é necessário clicar no botão, ao fazer isso os outros dados do formulário apagam. Tem como fazer isso dinamicamente? ao selecionar o combo já preencher automaticamente o input?

 

Do jeito que esta funciona e não funciona, resolve esta questão mas cria outra: os dados serem apagados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

para ilustrar segui teu code e só alterando minhas conexões:

<%
set rsTypesNAMEFIRSTTEAM = Server.CreateObject("ADODB.Recordset")
rsTypesNAMEFIRSTTEAM.ActiveConnection = MM_conn_STRING
rsTypesNAMEFIRSTTEAM.Source = "SELECT COL_ID, COL_NOME FROM COLEGIO"
rsTypesNAMEFIRSTTEAM.Open()
%>

<form id="form1" name="form1" method="post" action="">
<select name="PRIMEIRO" type="text" class="dropdown-select" size="1">
<%
While (NOT rsTypesNAMEFIRSTTEAM.EOF)
%>
<option value="<%=(rsTypesNAMEFIRSTTEAM.Fields.Item("COL_ID").Value)%>"><%=(rsTypesNAMEFIRSTTEAM.Fields.Item("COL_NOME").Value)%></option>
<%
rsTypesNAMEFIRSTTEAM.MoveNext()
Wend
%>
</select>
    
  <label>
  <input type="submit" name="Submit" value="pesquisar" />
  </label>
</form>

<p>

<%
dim selecionado
selecionado=Request.form("COL_NOME")

If (Request.Form("submit") <> "") Then

set rsTypesNAMEFIRSTTEAM2 = Server.CreateObject("ADODB.Recordset")
rsTypesNAMEFIRSTTEAM2.ActiveConnection = MM_connDUportal_STRING
rsTypesNAMEFIRSTTEAM2.Source = "SELECT * FROM COLEGIO where COL_ID= '"+ selecionado +"'"
rsTypesNAMEFIRSTTEAM2.Open()
%>
</p>
<form id="form2" name="form2" method="post" action="">
 e-mail:      
 <input name="cxemail" type="text" id="cxemail" value="<%=(rsTypesNAMEFIRSTTEAM2.Fields.Item("COL_IMAGEM").Value)%>" size="17" />
  <br />
  Telefone
  : 
  <input name="cxtel" type="text" id="cxtel" value="<%=(rsTypesNAMEFIRSTTEAM2.Fields.Item("COL_USUARIO").Value)%>" size="17" />
</form>
<%
End If
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Lezão, tudo bem?

 

Vou usar este seu código para uma outra aplicação que estou trabalhando, acabou servindo sim. Obrigada!

 

Nesta questão atual, esta mais complexa :(

 

O que estou tentando fazer é pegar uma tabela chamada colégio que possui as colunas

 

COL_ID

COL_NOME

COL_USUARIO

COL_IMAGEM

Criar um combobox para selecionar a coluna "col_nome" e após selecionar o primeiro combo preencher um input ou até mesmo ouro combo com a coluna "col_imagem"correspondente a primeira seleção.

Ja encontrei isso com duas tabelas mas com uma estou com dificuldade :(

 

Oi. Você quer preencher o "input" com todos os dados da "COL_IMAGE" ou apenas um registro específico referente ao que for selecionado na combo com os dados da "COL_NOME"? Se for a segunda opção, você pode adaptar um exemplo seu mesmo (#5) com o evento "onkeyup". A sacada seria definir o "value" do combo com os valores da "COL_NOME" junto com o valor da "COL_IMAGE" (concatenados), depois com o evento "onkeyup" tratar este valor (split) e apresentar no input somente o valor desejado.

Outra opção seria com Ajax (requisitar e carregar os dados sem refresh na página).

 

Claro que as sugestões foram dentro do que entendi.

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Public2004,

 

Seria a segunda opção mesmo, ao selecionar um item especifico da combo (COL_NOME), preencher o input com a informação da COL_IMAGEM relativa a seleção.

 

O que não posso fazer é trazer de uma value a informação para o input. porque vou pegar estes dois dados e salvar em outra tabela. Se eu colocar uma value com o dado da coluna COL_IMAGE ao selecionar o Combo que traz a informação visual do COL_NOME não vai ficar correto pois ao gravar novamente em outra tabela terei duas informações iguais.

 

 

agora, voce me confundiu toda sobre criar o evento onkeyup :o

 

 

O Exemplo do Fernando chegou perto, mas no caso teria que ter um botão para carregar o input, esta ação depende do usuário, o ideal mesmo é ao selecionar ja carregar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode criar uma função (js) que é disparada com o evento onkeyup (no seu caso que é combo acho melhor o evento "onkeychange"), basicamente definir na função que ao evento seja preenchido o input com um determinado valor, valor este que pode ser adicionado no value do combo como sugeri.

Ex. do value do combo : value="registro_col_name,registro_col_image" (Separados por vírgula neste exemplo).

Da mesma forma que você vai tratar/separar este value (COL_IMAGE) para preencher o input, você fará o mesmo para salvar a outra informação (COL_NAME) no banco, então ao meu ver não teria problemas até aqui de tê-los no mesmo value.

 

Att.

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.