我有一个html输入按钮,可以在VF页面中调用javascript函数。执行javascript函数后,我想在新的顶点窗口中打开一个帐户的详细页面。因为我写的如下。
<input type="button" value="Save" onclick="saveImage()"/>
<apex:actionFunction name="savefn" action="{!saveData}" rerender="">
<apex:param name="x" value="" assignTo="{!saveImageValue}" />
</apex:actionFunction>
public void saveData()
{
String accid,accName;
for(Account a:[select id,name from Account where id=:account])
{
accid=a.Id;
accName=a.Name;
}
//doing my stuff-----
openDetailPage(account);
}
public PageReference openDetailPage(String acc)
{
/**Acc contains the id of the account in string format**/
pageReference ref = new PageReference('/'+acc);
ref.setRedirect(true);
return ref;
}
我能够调试opendetailpage日志,但我无法打开页面。任何人都可以指出我在哪里做错了吗?
答案 0 :(得分:0)
首先,您引用的函数为&#34; SaveData&#34;在Visualforce页面中命名为&#34; SaveDataData&#34;在Apex代码中。
第二件事,&#34; SaveData&#34;属于void类型。它需要返回页面引用。
public PageReference saveData()
{
... //skipping unchanged stuff
//doing my stuff-----
return openDetailPage(account);
}