gpt4 book ai didi

java - 在 AJAX 请求期间处理来自服务器的客户端组件

转载 作者:行者123 更新时间:2023-11-28 10:24:01 25 4
gpt4 key购买 nike

在我的应用程序中,我实现了一个用于显示信息和错误消息的消息栏,该消息栏将在屏幕导航发生时关闭(由 window.onunload 事件触发的 JavaScript 函数)。

在少数地方,我实现了 a4j:commandButton 来渲染特定的模态面板,而无需刷新屏幕。在这种情况下,现有的消息栏将保留(因为没有屏幕刷新!!!),新的消息栏将附加到其上。

我非常了解a4j:commandButton的属性“onClick()”的实现。在所有现有按钮中实现它可能会很忙。我想要在服务器端一次性实现(如果可能的话在 PhaseListener),这样我就不需要编写任何 onunload javascript 函数或 onClick() 功能。

谁能给我简单介绍一下如何在ajax场景中从服务器端控制消息栏?

提前致谢。!!!

最佳答案

我知道您询问了服务器端解决方案,但对于这个问题有一个相对简单的客户端解决方案,我认为您可能更喜欢。

如果您想向“onClick”上的所有或部分按钮元素添加功能,您可以尝试使用以下代码。

替换为要添加到点击事件上的函数。替换为您的表单名称(您可以将 is 作为参数传递)

顺便说一句,此代码支持 IE FF CHROME

function addFunctionToAllButtons()
{
var buttons = document.*YourForm*.getElementsByTagName("button");
for(i=0; i<buttons.length; i++)
{
if(buttons[i].id =='yourButtonId')
{
attachEvent(buttons[i],'click',*yourFunction*,false);
}
}

}


function attachEvent(obj,evt,fnc,useCapture)
{
if (!useCapture) useCapture=false;
if (obj.addEventListener)
{
obj.addEventListener(evt,fnc,useCapture);
return true;
}
else if (obj.attachEvent)
return obj.attachEvent("on"+evt,fnc);
else
{
MyAttachEvent(obj,evt,fnc);
obj['on'+evt]=function(){ MyFireEvent(obj,evt) };
}
}

-- 编辑

为了支持子页面,我们需要特别注意以下行中引用的按钮 ID:

if(buttons[i].id =='yourButtonId')

以及表单 ID

希望这有帮助。

关于java - 在 AJAX 请求期间处理来自服务器的客户端组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4887177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com