2

我有一个在 SSJS 中发送和发送电子邮件的按钮...

现在,如果可以的话,我会向用户实时显示发送电子邮件的状态:

  1. 发送过程......
  2. 发送成功或发送错误

我如何从 SSJS 例程中调用 JS 客户端代码?你有什么建议吗?

4

4 回答 4

8

如果您使用的是 ExtLib,那么您也可以使用 @WarningMessage('messageText') 方法。

您需要向 XPage 添加一个部分以显示消息。它可以很简单

<xp:messages id="messages1"></xp:messages>

添加后,对 @WarningMessage 的每个调用都会在消息窗格中添加一行。

于 2012-01-27T16:03:08.460 回答
6

8.5.3 引入了一个非常好的方法:

view.postScript

您可以从 SSJS 代码中插入您喜欢的任何 CSJS 代码。

于 2012-01-30T07:49:06.403 回答
5

这很简单。1. 在您的页面上添加一个隐藏输入控件,注意 id。2. 在你的 SSJS 中使用 getComponent("inputHidden1").setValue("This is the message") 3. 确保 Hidden Input 控件在被刷新的区域(否则值不会被传回浏览器,所以无法在 CSJS 中访问) 4. 转到 Source 窗格并将光标放在触发 SSJS 的 eventHandler 上或其中。您需要这样做才能到达 onComplete 事件 5. 在 All Properties 面板中转到 onComplete,在那里添加您的 CSJS。例如 alert(dojo.byId("#{id:inputHidden1}").value)

这将运行您的 SSJS,并在完成时提醒用户该字段中的任何代码。

有关演示和演示代码,请查看我的博客文章: http: //www.intec.co.uk/xpages-calling-client-side-javascript-from-server-side-javascript/

于 2012-01-27T12:41:56.393 回答
1

除了 Pauls 答案之外,另一种方法是使用 extlib 中的对话框,您可以从 ssjs 调用它,在对话框中放置一个字段并将其设置为范围值并显示对话框。

于 2012-01-27T13:13:17.113 回答