从自定义按钮打开自定义对象new / edit页面并使用JavaScript传递参数

时间:2012-08-05 23:24:51

标签: javascript salesforce

在商机页面上有自定义按钮。自定义对象和商机页面配置了新的&和页面布局。编辑页面而不是VF.I想要实现以下目标:   1)首次点击该按钮,想要打开自定义对象的“新”页面。第二次打开它会打开“编辑”页面。    2)我还希望能够将2个或更多参数从机会页面传递到新/编辑页面,主要用于新页面。

3)在自定义对象页面上的“保存”中,希望它重定向到机会视图页面。

请您提供样本javascript或更好的方法。感谢您关注Javascript我导致的问题:

var oppId = "{!Opportunity.Id}"; 
If ({!Opportunity.PQQ__c})
{!URLFOR($Action.PQQ__c.New, null,
[

"PQQ__c.Name"="{!Opportunity.Name}",
"PQQ__c.Opportunity__c"="{!Opportunity.Id}",
"save"="1",
 "retURL"=URLFOR($Action.Opportunity.View, oppId)
],
true)}

else{{!URLFOR($Action.PQQ__c.Edit, null,
[

"PQQ__c.Name"="{!Opportunity.Name}",
"PQQ__c.Opportunity__c"="{!Opportunity.Id}",
"save"="1",
"retURL"=URLFOR($Action.Opportunity.View, oppId)
],
true)}

1 个答案:

答案 0 :(得分:1)

传递这样的参数:

window.location = "apex/yourCustomPage?param1={!Opportunity.Id}&param2={!Opportunity.Name}";

在visualforce页面,您可以直接访问这些参数:

{!$CurrentPage.parameters.param1}

在控制器中:

if (ApexPages.currentPage().getParameters().containsKey('param1'))
{
    yourVar = ApexPages.currentPage().getParameters().get('param1');
}

打开这样的新窗口:

window.open("apex/yourCustomPage?param1={!Opportunity.Id}&param2=edit";