Ir para conteúdo

POWERED BY:

Arquivado

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

Felipe Myth

Enviar valores selecionados em uma lista com método post

Recommended Posts

olá galera, bom, estou desenvolvendo uma pagina de consulta de banco de dados, e nessa página eu terei uma lista com multipla seleção que eu teria que saber os values selecionados dela na página php, se eu mandar o form dar submit eu vo receber na pagina php um array com os valores ou de que outro jeito posso fazer isso?

 

valeu a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

no HTML:

<input type="checkbox" name="opcoes[]" value="1" />
<input type="checkbox" name="opcoes[]" value="2" />
<input type="checkbox" name="opcoes[]" value="3" />

no PHP

echo "Você selecionou:<br />";
foreach ($_POST['opcoes'] as $opcao)
{
	echo $opcao . '<br />';
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

no HTML:

<input type="checkbox" name="opcoes[]" value="1" />
<input type="checkbox" name="opcoes[]" value="2" />
<input type="checkbox" name="opcoes[]" value="3" />

no PHP

echo "Você selecionou:<br />";
foreach ($_POST['opcoes'] as $opcao)
{
	echo $opcao . '<br />';
}

valeu beraldo, já entendi o funcionamento desse esquema, mas e se eu tivesse que fazer isso com uma tag select, tipo lista, que permite a seleção de varios valores? coloco o "name" em todas as options igual?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah, era um select. Foi mal. Foi falta de atenção. :rolleyes:

 

O resultado no PHP será o mesmo. O formulário ficaria assim:

 

<select name="opcoes[]" multiple="true" size="3">
	<option value="1">OP 1</option>
	<option value="2">OP 2</option>
	<option value="3">OP 3</option>
	<option value="4">OP 4</option>
  </select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah, era um select. Foi mal. Foi falta de atenção. :rolleyes:

 

O resultado no PHP será o mesmo. O formulário ficaria assim:

 

<select name="opcoes[]" multiple="true" size="3">
	<option value="1">OP 1</option>
	<option value="2">OP 2</option>
	<option value="3">OP 3</option>
	<option value="4">OP 4</option>
  </select>

brigadão beraldo ^^, com esse código vai ser enviado pro php os valores selecionados na lista certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite

 

é o seguinte tenho um sistema que faz quase a mesma coisa só meu o action do meu form abre em uma div

 

a página abre normalmente mais n aparece resultados, se eu mudar o action para a página pura funciona perfeitamente

mais preciso que abre dentro da div

 

Poderia me Ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá. Já precisei usar esse select com 'multiple' e do 'outro lado' (após o POST), só aparecia o último ítem selecionado.

A solução que encontrei, foi fazer um script que alimenta um campo hidden com os ítens selecionados.

Ou seja, no onChange do select, chamo um js que adiciona esse ítem a um array, caso o ítem ainda não exista no array. Se o ítem já existir, ele será removido da lista.

Depois, coloco o conteúdo do array em um campo hidden.

Após o post, tenho uma lista de todos os campos selecionados.

 

<script language="javascript1.1" type="text/javascript">
function fncAddControle(Obj){
	var itens = new Array();
	for(var f=0; f<Obj.length; f++){
		if(Obj.options[f].selected) itens.push(Obj.options[f].value);
	}
	document.getElementById('listaControles').value = itens;
	return;
}
</script>
<!-- deixei o campo como text para você ver os ítens-->
<input type="text" name="listaControles" id="listaControles" />
<select multiple size="5" name="controles" id="controles" onchange="fncAddControle(this)">
<option value="1">Ítem 1</option>
<option value="2">Ítem 2</option>
<option value="3">Ítem 3</option>
<option value="4">Ítem 4</option>
<option value="5">Ítem 5</option>
</select>
Não entendi o porque que o campo select multiple não envia todos os ítens selecionados.

Essa foi a maneira que encontrei.

Veja se resolve seu problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mario Helme, isso sempre ocorre com múltiplos objetos com o mesmo name, como checkboxes e o select multiple. A solução não precisa de JavaScript. Basta definir o name como se fosse um array: opcoes[].

Testei aqui e funcionou corretamente.

 

brigadão beraldo ^^, com esse código vai ser enviado pro php os valores selecionados na lista certo?

exatamente. :D

Pode usar o mesmo script PHP que postei antes.

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.