Ok, I understand.

Thanks, it works well now.

2011/9/28 Mathilde Pellerin <mathilde.pelle...@statlife.fr>

> Hi all,
>
> I want to generate a Line chart (from Google Visualization API) when I
> submit a form.
> To do that, I used getAjaxCallDecorator like this :
>
>         AjaxButton submit = new AjaxButton("submit") {
>             private int agePersonne;
>             private double risque;
>
>             @Override
>             protected void onSubmit(AjaxRequestTarget target, Form<?> form)
> {
>                 agePersonne = age.getModelObject();
>
>                 //Récupération du risque via le DAO auquel on passe les
> valeurs du formulaire
>                 //les valeurs doivent donc avoir été validées avant
>                 risque = risqueDao.getOneByProfil(agePersonne,
> agePremieresRegles.getModelObject(),
>                         nbParentsAtteints.getModelObject(),
> nbBiopsies.getModelObject(),
>                         menopauseGroupe.getModelObject(),
> ageMenopause.getModelObject(), statutTHS.getModelObject());
>
>             }
>
>             @Override
>             protected void onError(AjaxRequestTarget target, Form<?> form)
> {
>                 target.add(feedback);
>             }
>
>             @Override
>             protected IAjaxCallDecorator getAjaxCallDecorator() {
>                 return new AjaxCallDecorator() {
>                     public CharSequence decorateScript(Component c,
> CharSequence script){
>                         return JavascriptUtils.genererScriptLine("risque",
> agePersonne, risque) + script;
>                     }
>                 };
>             }
>         };
>         form.add(submit);
>
> With this code, the static method genererScriptLine() is called on page
> loading, so agePersonne and risque are not initialized because they will be
> calculated only on form submitting. So when I submit the form, chart is
> displayed but not with good values for agePersonne and risque.
>
> I don't understand how to use getAjaxCallDecorator with AjaxButton to be
> sure that decorateScript will be called after submitting, and not on page
> loading?
> What am I doing wrong?
>
> Mathilde
>



-- 
*Mathilde Pellerin*
Ingénieur en développement de logiciel

STATLIFE
tel : 01.42.11.64.88
mail : mathilde.pelle...@statlife.fr

Reply via email to