我在网上搜索并尝试了很多东西,但没有任何结果...... 在我的.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页之后继续浏览页面时, 我收到错误“语法错误:意外的输入结束”。这是因为没有调用listener方法,'viewOrderForm:orderHeaderVOString'中的数据将为空。为什么有时它会被调用,有时它不会被调用?
答案 0 :(得分:0)
我得到了解决方案,现在工作正常 问题在于
<h:inputHidden feilds
因为每次我浏览页面时,值都会保留在隐藏的字段中,因此ajax调用没有发生。 现在我每次都在对隐藏的游艇进行归零。所以它工作正常,ajax调用正在发生。