在页面引用的帮助下无法打开新页面

时间:2014-08-18 13:18:28

标签: javascript salesforce visualforce apex

我有一个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日志,但我无法打开页面。任何人都可以指出我在哪里做错了吗?

1 个答案:

答案 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);
}