Agência OFF, desenvolvimento de soluções web para as Agências Digitais
Simples script usando JavaScript, para alimentar um campo “text” através de um campo “select”.
Criada uma função alimentarCampo que recebe o valor dos campos do formulário através do metodo “getElementById” com a interação .value
<html>
<head>
<script type="text/javascript">
function alimentarCampo() {
var minhaLista = document.getElementById("minhaLista");
document.getElementById("campoReceber").value = minhaLista.options[minhaLista.selectedIndex].value;
}
</script>
</head>
<body>
<form name="Formulario">
Selecione seu Browser:
<select id="minhaLista" name="campo_selecione" onchange="alimentarCampo();">
<option value="001 Campo do Internet Explorer a Evolução">Internet Explorer</option>
<option value="002 Campo do Firefox a Evolução">Firefox</option>
<option value="003 Campo do Netscape a Evolução">Netscape</option>
<option value="004 Campo do Opera a Evolução">Opera</option>
</select>
<p>Descrição do Browser: <input type="text" id="campoReceber" name="campo" size="50"></p>
</form>
</body>
</html>
Resumo do Código:
Linha:
var minhaLista = document.getElementById("minhaLista");
A variável minhaLista é alimentada através do “ID” do campo “select” que é puxado pelo parâmetro document.getElementById citado acima.
Linha:
document.getElementById("campoReceber").value = minhaLista.options[minhaLista.selectedIndex].value;
No campo do tipo “text” no formulário temos uma “ID” chamada campoReceber que receberá o valor do campo de “select” selecionado pelo usuário através do parâmetro “.options” citado no código acima, pegando assim pelo parâmetro “.value” o valor do campo “option” exposto no “select”.
Linha:
<select id="minhaLista" name="campo_selecione" onchange="alimentarCampo();">
E por final chamamos a função criada em JavaScript pelo método “onchange” do formulário.
Dúvidas é só citar!!
Acesse também: Webly
Agência OFF, desenvolvimento de soluções web para as Agências Digitais


Caro amigo
Preciso fazer mais ou menos como explicou o Alimentando um campo de texto através de um select , com a diferença que ao invés do campo texto, seria um textarea, onde iria sendo incrementado cada item selecionado em uma lista alimentando o campo textarea.
É uma lista de pedidos que preciso fazer, com vários itens, sendo que os intens selecionados aliementa um campo textarea onde será disparado por e-mail após o preenchimento.
Obrigado pela atenção!
é só mudar de campo text para campo textarea, conservando as ID
< textarea id="campoReceber">
Parabéns Ted, legal hehehehe. Abraços.
muito bom seu expemplo, eu gostaria de alterar o class do campo pois é atraves do class que altero a mascara do campo, o que quero é tipo a pessoa seleciona cnpj e o campo fica com mascara de cnpj se selecionar cpf o campo fica com mascara de cpf
Preciso de algo parecido, mas necessariamente assim… Meu problema é o seguinte:
Tenho um teste on line que calcula o resultado automaticamente em determinado campo. Preciso resgatar esse valor no campo acima para que o visitante digite seus dados e envie para tabulação…
regata o valor do campo assim
var minhaLista = document.getElementById(“campo_calculado”);
document.getElementById(“campoReceber”).value = minhaLista.value;
TedK, muito bom seus scripts, funcionam beleza, mas assim..
Como faria para alimentar um textarea conforme a seleção do combo, só que ambos carregados dinamicamente com php/mysql, eu tentei com esse aqui:
$(document).ready(function(){
$(“select[name='msgTitulo']“).change(function(){
$(“input[name='msgTexto']“).val(‘Carregando Mensagem…’);
$.getJSON(
‘../editorim/functionPgseguro.php’,
{idMsg: $(this).val()},
function(data){
$.each(data, function(i, object){
$(“input[name='msgTexto']“).val(obj.msgTexto);
});
});
});
});
e com essa parte em php :
0 )
{
while( $dados = mysql_fetch_assoc( $query ) )
{
$opt .= ”.$dados['msgTitulo'].”;
}
}
else
$opt = ‘Nenhuma mensagem cadastrada’;
return $opt;
}
/**
* função que devolve em formato JSON os dados do cliente
*/
function retorna( $id=null )
{
$id = (int)$id;
$sql2 = “SELECT * FROM mensagens “;
if( $id != null )
$sql2 .= “WHERE idMsg = {$id} “;
$query = mysql_query($sql2);
$json = ”;
if( mysql_num_rows($query) > 0 )
{
while($dados = mysql_fetch_assoc($query))
{
$json .= “{$dados['msgTitulo']}, {$dados['msgTexto']}”;
}
}else
$json = ‘endereco: não encontrado’;
return $json;
}
/* só se for enviado o parâmetro, que devolve o combo */
if( isset($_GET['idMsg']) )
{
echo retorna( $_GET['idMsg'] );
}
?>
mas no input só aparece a mensagem “Carregando mensagem…”, ou seja não mostra o resusltado da consulta ao banco,
fiz o teste no firebug e ele mostra os resultados corretamente, só não mostra no input ou textarea, será que vc pode me ajudar…
Valeu
Obrigado, era exatamente o que eu estava precisando.
Abraço.