gpt4 book ai didi

javascript - 如何使用 javascript/JQuery 调用 jsf 页面上的隐藏按钮

转载 作者:行者123 更新时间:2023-11-28 20:23:29 25 4
gpt4 key购买 nike

我发现这个问题已经以不同的形式被问了好几次,但我仍然需要一些帮助,因为无法像示例中那样得到这个。

我有一个带有 PrimeFaces 的 JSF 2 页面,它包含以下隐藏按钮,我需要从 javascript 在 pageUnLoad 上调用该按钮。

JSF 拥有:

// Supposed to be hidden eventually
<h:commandButton id="doStuff" action="#{myBean.callMethod()}" />

JavaScript 具有:

var stuff = new Object();

$(window).bind('beforeunload', function() {
stuff.doStuff();
});

stuff.doStuff = function() {
// var hidden = $("#doStuff"); // Incorrect
var hidden = document.getElementById("formId:doStuff"); // Correct
if (hidden === undefined) {
// Some logging
} else {
hidden.click();
}
}

托管Bean具有:

@ManagedBean(name = "myBean")
@RequestScoped
public class MyBean {
public void callMethod() {
// Do stuff
}
}

通过调试我可以看到,当手动单击按钮时,它会正确触发事件。我还能够验证 JavaScript 是否被正确调用,它“似乎”找到了该元素,并为其执行“.click()”,但我没有在服务器端捕获任何事件。

我似乎正在按照其他类似问题的指示这样做,但我缺少最终结果。

如有任何帮助,我们将不胜感激,谢谢。

最佳答案

隐藏按钮可以通过使用JavaScript来点击

document.getElementById('doStuff').click();

但是,命名容器时应该小心。隐藏按钮必须用 <h:form> 括起来标签和prependid它的属性应该设置false 。否则,您可以访问 id formId:doStuff 的按钮.

另请参阅

Naming Container in JSF2/PrimeFaces

Cannot click hidden button by JavaScript

关于javascript - 如何使用 javascript/JQuery 调用 jsf 页面上的隐藏按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17834491/

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