在商机页面上有自定义按钮。自定义对象和商机页面配置了新的&和页面布局。编辑页面而不是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)}
答案 0 :(得分:1)
传递这样的参数:
window.location = "apex/yourCustomPage?param1={!Opportunity.Id}¶m2={!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}¶m2=edit";