0

商談ページにカスタム ボタンを配置します。カスタム オブジェクトと商談ページは、VF ではなく、新規および編集ページのページ レイアウトで構成されています。次のことを達成したい: 1) そのボタンを初めてクリックしたときに、カスタム オブジェクトの「新しい」ページを開くようにしたい. 2 回目は、「編集」ページを開く必要があります。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)}
4

1 に答える 1

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";
于 2012-08-07T15:14:35.353 に答える