gpt4 book ai didi

ajax4jsf - 如何正确访问a4j :jsFunction result中的数据字段

转载 作者:行者123 更新时间:2023-12-04 00:53:46 24 4
gpt4 key购买 nike

我目前正在尝试使用一些服务器端方法(作为一个组)验证一些前端值,并且遇到了处理结果的问题。

这是启动这一切的按钮的 XHTML:

<h:commandButton action="#{Bean.save()}" 
value="Save"
id="save"
onclick="checkForConfirmation();" />

和 javascript,按钮调用的一部分,jsFunction 调用的另一部分
function checkForConfirmation()
{
var name = document.getElementById("path:to:name").value;
var address = document.getElementById("path:to:address").value;
var city = document.getElementById("path:to:city").value;
var state = document.getElementById("path:to:state").value;
var zip = document.getElementById("path:to:zip").value;

jsFunc1(name, address, city, state, zip);
}
function showConfirmPrompt()
{
if(confirm('Confirmation before save'))
{
return true;
}

return false;
}

最后,jsFunction 是有问题的部分:
<a4j:form>
<a4j:jsFunction name="jsFunc1" action="#{Bean.shouldBeConfirmed()}" data="#{Bean.booleanResult}" oncomplete="alert(data); if (data) {showConfirmPrompt();}">
<a4j:actionparam name="param1" assignTo="#{Bean.nameToBeValidated}"/>
<a4j:actionparam name="param2" assignTo="#{Bean.addressToBeValidated}"/>
<a4j:actionparam name="param3" assignTo="#{Bean.cityToBeValidated}"/>
<a4j:actionparam name="param4" assignTo="#{Bean.stateToBeValidated}"/>
<a4j:actionparam name="param5" assignTo="#{Bean.zipToBeValidated}"/>
</a4j:jsFunction>
</a4j:form>

问题是,在此事件链的末尾,“oncomplete”属性中的 alert(data) 显示数据未定义。我需要对此进行定义,以便知道是否显示警告对话。

我可以确认 Bean.shouldBeConfirmed() 方法确实在运行,并且具有正确的参数,并且确实返回了正确的值,甚至设置了 Bean.booleanResult 变量的值(这是一个普通的 java bool 值)。我在这里做错了什么?

最佳答案

虽然这是一个非常古老的问题,但我在 Richfaces 4 M3 上遇到了同样的问题。 Yev 建议的参数不起作用。所以提到richfaces的JIRA .
据此,这是一个错误(处于“不会修复”模式,不知道为什么!)
所以现在的解决方法是使用event.data而不是dataoncomplete处理程序。
我测试过,它确实有效:)

关于ajax4jsf - 如何正确访问a4j :jsFunction result中的数据字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1365491/

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