我有一种情况,我使用force.com网站来运行购物车。在购物车的前5页中,我收集了信用卡号码送货地址等数据。
最后一个按钮称为“下订单”。这是我想将所有内容提交到数据库并从信用卡收费的地方。所以这是执行的顺序:
1) Insert an account.
2) Charge the credit card using a call out webservice.
3) If the charge worked, create a Receipt__c object which is a slave object on the Account.
4) Create a pdf of the Receipt__c object.
5) Display the pdf in an iframe of the client's browser.
现在,如果我执行DML进程,则顶级代码无法调用Web服务。所以我不得不用两个按钮来移动这个过程。
其次,在收到DML插件完全执行到数据库之前,apex代码无法生成pdf。
最终结果是客户必须快速连续点击3个按钮才能处理所有语句。这是有问题的,因为自1999年以来,单击按钮是一种方法。有没有办法在单个顶点代码执行中处理所有这些?
答案 0 :(得分:0)
你可以这样做:
<apex:actionFunction name="action1" action="{!action1}" rerender="message" oncomplete="action2()" />
<apex:actionFunction name="action2" action="{!action2}" rerender="message" />
<input value="Save" class="btn" onclick="action1();" type="button" />