通过javascript执行salesforce控制器



我知道很容易通过控制器执行javascript,但是否有可能以其他方式执行?

用例场景:

我在页面的左边有一个产品列表。当我单击其中一个产品时,就会出现一个CSS高亮显示。然后,我希望javascript呈现我的搜索结果功能," showtherresults "。

它将允许用户向下钻取他们正在搜索的数据的产品。我能想到的唯一方法就是通过javascript。欢迎其他建议

您可以尝试使用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}); 

Then in Apex:

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

您可以根据控制器中的布尔值选择性地呈现输出面板。在这个例子中设置'renderScriptPanel'当你想要showResults函数运行。如果您正在执行部分页面刷新,请确保刷新输出面板的id。

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

你可能想看看JavaScript Remoting for Apex Controllers

最新更新