Bonjour,
Je bloque sur une difficulté pour effectuer un calcul instantané dans un formulaire.
J'ai un Ihm qui contient un listing de données saisies dans un formulaire qui s'ouvre sur demande d'ajout ou de modification de ce listing.
Toutes les données sont enregistrées dans postgresql.
Pas de problème pour saisir, enregistrer et afficher mes données dans le listing mes données à partir du formulaire.
Par contre je n'arrive pas à réaliser un calcul instantané entre données du formulaire de telle sorte que le résultat du calcul s'affiche dans le formulaire avant sa validation.
J'arrive à faire le calcul dans postgresql avec un trigger mais n'arrive pas à le réafficher instantanément dans le formulaire, je me suis donc lancé dans la méthodo struts avec un scipt sans utiliser de trigger.
J'ai déjà travaillé mes fichiers ( tag, xml, jpa, jsp,.. + script) mais ça ne fonctionne pas sauf si je rempli moi même le champ calculé, ce qui n'est pas sa destination.
Ma config postgresql
2 tables avec des colonnes de type décimal et une colonne type intéger.
J'aurai souhaité un guidage pas à pas à partir de mes fichiers pour comprendre et savoir ou est mon erreur.
Je ne sais pas si la bonne méthode serait de présenter tout mes fichiers dés maintenant, ce serait long .. sauf en lecture de chevet pour ceux qui dorment mal.
Si quelqu'un peut m'aider je suivrai son ordre de présentation, je ne sais pas quoi présenter en premier, alors je vous propose le script positionné dan le fichier tag.prod , le fichier validation.xml et mon JSP.
Table prod de postgresql
- colonne 1 = prod_Dec_prixachatht
- colonne 2 = prod_Dec_Coefchute
- colonne 3 = prod_Dec_Coefmarge
- colonne 4 = prod_Dec_Resultprixvente
(Le calcul nécessitera ensuite une donnée d'une autre table, mais pour faire simple je préférerai rester sur la même table au départ, sauf si cela ne complique pas trop le calcul)
Fichiers tag.prod > > function changePriceCalculvente
Code :
- function changePriceCalculVente() {
- var prixachatht = dwr.util.getValue("prodDecPrixachatht" );
- var coefmarge = dwr.util.getValue("prodCoefmarge" );
- var coefchute = dwr.util.getValue("prodCoefchute" );
- var prixVente = (prixachatht - (prixachatht * coefchute / 100))*(1+(coefmarge/100)) ;
- dwr.util.setValue("ProdDecResultprixvente", prixVente);}
|
Fichier validation.xml
Code :
- <field property="prixAchatxml"
- depends="required">
- <arg key="errors.prodDecPrixachatht"/>
- </field>
- <field property="coefchutexml"
- depends="required">
- <arg key="errors.prodDecCoefchute"/>
- </field>
- <field property="coefmargexml"
- depends="required">
- <arg key="errors.prodDecCoefmarge"/>
- </field>
-
- <field property="prixventexml"
- depends="">
- <arg key="errors.prodDecResultprixvente"/>
- </field>
|
Fichier JSP
Code :
- <td >
- <html:text style="***" property="coefchutexml" styleId="coefchutexml" onkeyup="valider(this.value,this.id,this.id+'_span');" onkeypress="verifyDecimal(event, this.value);"></html:text>
- </td>
- <td >
- <html:text style="***" property="coefmargexml" styleId="coefmargexml" onkeyup="valider(this.value,this.id,this.id+'_span');changePriceCalculVente();" onkeypress="verifyDecimal(event, this.value);" ></html:text></center>
- </td>
- <td> <!-- RESULTAT -->
- <html:text style="***" property="prixventexml" styleId="prixventexml" onkeyup="valider(this.value,this.id,this.id+'_span');" ></html:text>
- </td>
|
est ce que jusque là ça va ?
Si c'est OK, quels fichiers je dois mettre maintenant pour que vous me guidiez ? JPA , action et form ( create / modification) ? tag complet? ..
merci bien du coup de pouce, je débute ..
dan