2011-08-22 80 views
0

我知道很容易通過控制器來執行javascript,但是否有可能以相反的方式執行?通過javascript執行salesforce控制器?

使用情況:

我的產品在頁面左側的列表。當我點擊其中一個產品時,我出現了CSS突出顯示。然後,我想讓javascript重新顯示我的搜索結果功能,「顯示結果」。

它將允許用戶深入挖掘其搜索數據的產品。我能想到的唯一方法就是通過javascript。歡迎其他建議。

+0

是建立在銷售人員或其他技術產品的網頁? –

回答

0

您可以使用基於控制器中的布爾值選擇性地進行渲染的輸出面板。在這個例子中,當你想讓showResults函數運行時,設置'renderScriptPanel'。如果您正在進行部分頁面刷新,請確保刷新輸出面板的ID。

<apex:outputPanel id="scriptPanel" rendered="{!renderScriptPanel}"> 
    <script type="text/javascript"> 
    showTheResults(); 
    </script> 
</apex:outputPanel> 
1

您可以嘗試使用Ajax工具包。在JavaScript:

// Include Ajax toolkit 
{!REQUIRESCRIPT("/soap/ajax/22.0/connection.js")} 
{!REQUIRESCRIPT("/soap/ajax/22.0/apex.js")} 

// Get selected Lead Ids 
var leadIds = {!GETRECORDIDS($ObjectType.Lead)}; 

// Call your class method 
var result = sforce.apex.execute('CalledFromJavaScript', 'theMethod', {arg: leadIds}); 

然後在頂點:

// Make your class global and method a webservice: 
global class CalledFromJavaScript 
{ 
    webService static Integer theMethod(List<Id> sObjectIds) 
    { 
     ... 
    } 
}