JSF和Jquery AJAX – 我如何让它们一起工作?

我刚刚开始使用JSF,看起来很棒,但我似乎无法弄清楚这最后的障碍。

我习惯了传统的Jquery AJAXfunction,这在我的书中很完美。 但我希望找到一种方法让它与JSF协调工作。

这是一个解释我的情况的场景。

我的网站上有一个消息页面,用户可以在其中发送消息。 所以在我的xhtml页面中,我有一些看起来像这样的东西:

      

效果很好。 用户可以发布他们的消息并将其加载到上面的对话div中。 但现在我需要添加一些function。 – 当用户单击时,应禁用按钮和textarea以避免交互,直到操作完成。 并且应该出现一个加载器 – 当JSF完成它的东西时,textarea和按钮应该被启用并且加载器应该消失…并且焦点返回到textarea。

在Jquery中我会做这样的事情:

 $.ajax{ beforeSend: function (){ // Disable textarea and button, show loader }, complete: function () { // Do the inverse of above } } 

谢谢您的帮助!

添加所需的onevent="jsFunctionName" (无括号)

并且你的jsFunctionName应该是这样的

 function openDeleteDevicesDialog(data) { console.log(data.status); //while ,data.status can be 1)"begin" 2)"complete" 3)"success" if (data.status === 'begin') {...} if (data.status === 'complete') {...} if (data.status === 'success') {...} } 

所以你应该输入这个function3次

f:ajax甚至开始之前执行h:commandButton的onclick ...)

请注意,通常您将在data.status === 'success'时执行代码,在页面完成渲染并且DOM处于最终形状/状态时执行

还看看BalusC在这里的回答......

这是你想要的? 如何在执行JSF 操作之前执行Javascript? (您必须更改按钮的链接)

如果您在网站上的任何位置都看到此按钮,则还可以创建自定义标记。