Alterando um action do html:form (struts)

8 respostas
marcelosdias

Pessoal boa tarde, quem pode me dar um exemplo de como alterar o action utilizando javascript?

meu javascript esta assim:

<script type="text/javascript">
         function executar(par)  
         {   var acao = "abreCaixa.do";
             par.action.value = acao + "?dtAbertura=" + orderdate_Object.picked.formatted;
             return true;
         }
     </script>

a chamada de meu form esta assim:

<html:form action="abreCaixa.do" onsubmit="executar(this)" >

alguem pode me dizer o que estou fazendo de errado e a maneira certa de fazê-lo?

O fluxo do struts está funcionando corretamente chamando o método que preciso em minha action, mas gostaria de passar por request mais uma variavel, que é uma data selecionada em um picker de data.

[]s

8 Respostas

marcelosdias

Por favor, alguém poderia me dar um auxílio?

furutani

Postei a mensagem errada. :oops:

marcelosdias

Puxa, nenhum auxílio… alguém pode me dar um help?

furutani

Não é mais fácil passar dtAbertura como um campo hidden dentro html:form?

marcelosdias

tentei mas nao funcionou… ela é gerada em tempo de execucao o html:hidden envia apenas os campos do form.

há alguma maneira de preencher o campo form via javascript?

marcelosdias

Pessoal, estou querendo, na verdade, capturar uma data por meio de um picker numa página JSP e enviá-la para meu servlet (struts).

fiz várias tentativas:

[color=darkblue]

1. tentei alterar o html:hidden antes de submeter o formulário, sem sucesso;

2. incluir na url o valor do campo data usando javascript para submenter o formulário, também sem sucesso;

3. por último, colocar no request via javascript, também sem êxito;

[/color]

Já estou inclinado a desistir do picker de data e utilizar digitação comum; sei que irei ter muito trabalho para fazer as validações, mas não estou vendo outro jeito.

Quem tiver uma solução, será bem vinda.

marcelosdias

Alguém já passou por isso?

marcelosdias

Pessoal, consegui! Puxa, até que enfim…

segue solução:

estou utilizando o picker de data do site DynamicDrive, recomendo o Jason’s (http://www.dynamicdrive.com/dynamicindex7/jasoncalendar.htm)

segue javascript alterando um campo do form do struts :

<script type="text/javascript">
    	function setValorDt() {
   	 	 return document.<meuForm>.<meuCampoForm>.value = <nomeDaData>_Object.picked.formatted;
	    } 
    </script>

coloquei a ação no onsubmit do formulário:

<html:form action="<minhaAcao>.do" onsubmit="return setValorDt()" >

o picker de data:

<script>DateInput('<nomeDaData>', true, 'YYYY-MM-DD');</script>

e passei este o campo do form por meio do html:hidden

<html:hidden property="<meuCampoForm>" value="" />

e peguei minha data com request.setParameter no meu action

String <minhaVariavel> = request.getParameter("<meuCampoForm>");

E a data chegou no action, linda e maravilhosa.

Criado 15 de novembro de 2008
Ultima resposta 18 de nov. de 2008
Respostas 8
Participantes 2