我知道很容易通过控制器执行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