我在网上搜索并尝试了很多东西,但没有任何结果......在我的 .xhtml 页面中有 7 个链接,它们是 JSf 命令链接,如下所示,
<h:commandLink id="HeaderLink" value="Header">
<f:ajax render="orderHeaderVOString"
onevent="updateHeaderVO"
listener="#{OrderMBean.getOrderHeaderData}" />
</h:commandLink>
<h:commandLink id="orderLinesLink" value="Lines">
<f:ajax render="orderLinesVOString"
onevent="updateLinesVO"
listener="#{OrderMBean.getOrderLinesData}" />
</h:commandLink>
输入隐藏字段如下
<h:inputHidden value="#{directCustViewOrderMBean.headerVOString}"
id="orderHeaderVOString" />
<h:inputHidden value="#{directCustViewOrderMBean.linesVOString}"
id="orderLinesVOString" />
和javascript方法如下
function updateHeaderVO(data) {
if (data.status == 'success') {
var orderHeaderVOString = document.getElementById('viewOrderForm:orderHeaderVOString').value;
var parsedJSON = eval("(" + orderHeaderVOString + ")");
alert("success");
}}
我的问题是当我在更改 4 到 5 页后继续浏览页面时,我收到错误“语法错误:输入意外结束”。这是因为没有调用侦听器方法,并且 'viewOrderForm:orderHeaderVOString' 中的数据将为空。为什么有时它被调用,有时它不被调用?