gpt4 book ai didi

javascript - 使用监听器更改的值执行 onevent

转载 作者:行者123 更新时间:2023-11-28 00:13:34 25 4
gpt4 key购买 nike

我有这个代码

<h:commandLink>
<f:ajax execute="@this"
render=":organizerTable :organizerData :delete @form"
onevent="deleteOrganizer"
listener="#{organizercontroller.deletePossible}"/>

<span id="minus" class="add-on glyphicon glyphicon-minus" aria-hidden="true"></span>
</h:commandLink>

当我点击减号时,ajax标签的监听器应该在onevent之前执行。通常情况下,情况正好相反。

我试过这个:

function deleteOrganizer(data) {
var status = data.status;
if (status === 'complete') {
if (#{organizercontroller.canDelete}) {
alert("Value: " + #{organizercontroller.canDelete});
window.location.href = "#id_delete_popup";
}
else {
alert("false");
}
}
}

现在,监听器方法将在我的 JavaScript 函数之前执行,但在 #{organizercontroller.deletePossible} 中,我更改了 canDelete 的值,但该值不是当我阅读时正确。

我该如何解决这个问题?

更新:

使用 status === 'success' 也不起作用。

最佳答案

我似乎找不到在不使用 PrimeFaces 或 OmniFaces Ajax 的情况下在 ajax 调用中添加回调参数的链接/帖子

但是您始终可以执行一些操作,例如更新页面的一部分,其中包含您在 ajax 调用中更新的 javascript 函数并包含/返回 EL

<h:commandLink>
<f:ajax execute="@this"
render=":organizerTable :organizerData :delete @form myCallback"
onevent="deleteOrganizer"
listener="#{organizercontroller.deletePossible}"/>

<span id="minus" class="add-on glyphicon glyphicon-minus" aria-hidden="true"></span>
</h:commandLink>
<ui:fragment id="myCallback">
function myFunction() {
return #{organizercontroller.deletePossible}
}
</ui:fragment>

并在 ajax 响应处理程序中调用该函数

function deleteOrganizer(data) {
var status = data.status;
if (status === 'complete') {
if (myFunction()) {
alert("Value: " + myFunction());
window.location.href = "#id_delete_popup";
}
else {
alert("false");
}
}
}

关于javascript - 使用监听器更改的值执行 onevent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30660651/

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