Enviar dados de listbox para action

2 respostas
B

Gente, tenho uma listbox em uma pag. JSP e agora preciso enviar os dados dessa listbox para uma action mas não consigo fazer.

como é uma listbox, são vários valores. E como preciso desses valores para que o banco seja atualizado precison enviar para uma determinada action todos os dados da listbox. Estou pesquisando mas até agora não descobri. Tentei fazer via javascript mas tmb nao deu certo.

Então, qualquer dica ou ajuda será muito bem vinda. tanto faz pra mim se a solução for via Javascript ou não. O importante é que todos os valores da listbox chegue até a action.

agradeço desde já
Breno

2 Respostas

gabbardo

Pensando por cima, tu pode criar uma função no JSP que monte um elemento com todos os valores da listBox.
Para isso basta pegar o objeto listbox e iterar sobre ela.
Ai na action tu pega com request esse elemento q tu criou com os valores da lista.
Como não sei teu código nem nada isso foi o que pude pensar no momento.

B

Oi Gabbardo, obrigado pela dica mas eu não entendi direito o que vc explicou.

tentei fazer isso com java script mas não deu muito certo, segue uma parte da minha JSP com a lista que eu quero pegar os valores e a tentativa com JS:

<select id="estabelecimentoListaAdd" name="estabelecimentoListaAdd" size="10"></select>
                      
<br/>

<s:form id="addEstabelecimentos" name="addEstabelecimentos" method="POST" theme="simple" action="addPermissao">
	<input id="addPermissao" type="submit" name="addPermissao" value="Adicionar Permissão" /> 
</s:form>

<script>
$("#addEstabelecimentos").submit(function(event) {
	// stop form from submitting normally
	event.preventDefault();
	//get some values from elements on the page:
	var $form = $(this);

	var hiddensEstabelecimentos = $form.find('input[name^=estabelecimentoListaAdd_]').toArray();
	var arrayEstabelecimentos = new Array();

	for (var i=0; i<hiddensEstabelecimentos.length; i++){
		arrayEstabelecimentos[i] = hiddensEstabelecimentos[i].getAttribute('value');
	}

	var param1 = arrayEstabelecimentos + "",
		url = $form.attr('action');
	// Send the data using post and put the results in a div
		$.post(url, {
				arrayEstabelecimentos : param1,			
				});
	}
);
</script>
Criado 20 de outubro de 2011
Ultima resposta 21 de out. de 2011
Respostas 2
Participantes 2