Salut, j'ai un petit problème.
J'ai un formulaire de bon de commande.
Il fonctionne comme ceci:
-Je choisi le fournisseur via un dropdown
-Quand j'ai choisi mon fournisseur, le dropdown des items qui appartient à ce fournisseur se rempli avec ces items.
--Aucun prob ici tout fonctionne bien--
J'ai un autre formulaire qui permet d'éditer des items. Je voudrais à partir de ce formulaire prépopulé le formulaire du bon de commande.
Le formulaire des items contient les détails sur l'items et les fournisseurs qui vendent cet item (un item peut etre vendu par plusieur fournisseur)
-Donc j'ai la fiche d'escriptive de l'item et un tableau qui contient les nom des fournisseur.
-Quand je click sur un fournisseur, c'est à ce moment que j'ouvre le formulaire de commande qui est suposé être prépopuler.
Je lance le formulaire de cette manière
Coté formulaire de commande je recoit cet url
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 print qq| <td width="40%" valign="top"> <a href="" onclick="window.open('/admin/vendors/edit_order.asp?order_by_item=1&org_id=$temp->{org_id}&external_id=$params->{external_id}');return false;" onmouseover="return overlib('$supplyer_overbid');" onmouseout="return nd();">| . $Server->HTMLEncode($orgs_hashref->{$temp->{org_id}}->{name}) . qq|</a></td>|;
Voici le bout de code qui est supposé remplir mon formulairehttp://demo.XXXXXXcom:8002/admin/vendors/edit_order.asp?order_by_item=1&org_id=1597&external_id=50-1225
A la fin de mon formulaire de commande je print mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 ###################################################### ## Bon de commande commander par le formulaire item ## ###################################################### my $script_frm_item; if ($Request->QueryString('order_by_item')) { my $org_id = $Request->QueryString('org_id'); my $external_id = $Request->QueryString('external_id'); $script_frm_item = qq| document.order.org_id.value = $org_id; fill_infos(document.order.org_id); document.order.item_id.value = '$external_id'; fill_infos_item('$external_id'); |; }
Le code ci-dessous sélectionne le fournisseur dans mon dropdown
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <script> <%print $script_frm_item;%> </script>
Le code ci-dessous rempli le dropdown des items via du ajax
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.order.org_id.value = $org_id
Le code ci-dessous est supposé sélectionné l'item dans la dropdown
Code : Sélectionner tout - Visualiser dans une fenêtre à part fill_infos(document.order.org_id);
Le code ci-dessous est supposé afficher les infos de l'items via du ajax
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.order.item_id.value = '$external_id';
Code : Sélectionner tout - Visualiser dans une fenêtre à part fill_infos_item('$external_id');
Bon, maintenant, si je met la ligne
en commentaire, les infos de l'items sont affiché correctement cependant l'item n'est pas sélectionner dans le dropdown car j'ai mit cette ligne en commantaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 document.order.item_id.value = '$external_id'
Cependant, si je met pas cette ligne en commentaire, les informations ne sont pas affiché et la dropdownlist des items reste vide.
Tout ca pour venir à cette hypothèse. La sélection de l'item plante-t-elle a cause du délais occasionné par le ajax. IE, je fais mon appel ajax et avant que celui-ci ne se termine... le code pour sélectionner l'item est lancé mais la dropdown ne contient pas encore les items à cause du délais occasioner par le ajax
Bon, je sais pas si qqn va prendre la peine de tout lire le code/commentaire mais j'ai mit tout ce qu'il fallais pour que qqn de l'extérieur comprenne bien mon problème et que je sois pas obliger de l'expliquer x³ fois.
Merci de votre future aide
Partager