2011-08-22 44 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) 
    { 
     ... 
    } 
}