Javascript jsf2.0中的一些js函数之后如何执行ajax

Javascript jsf2.0中的一些js函数之后如何执行ajax,javascript,ajax,function,jsf-2,Javascript,Ajax,Function,Jsf 2,我经常使用,但我有这个问题。 如果有一个用户的操作是删除某个实体,但我想通知单击此命令的用户链接一个javascript函数confirm(str);如果confirm()答案为false,则不会触发ajax函数。所以我开始使用jsf.ajax.request函数;我的代码是这样的 <h:commandLink value="ajax" onclick="return ask(this,event,null,'page');" actionListener="#{test.ajax}"

我经常使用,但我有这个问题。 如果有一个用户的操作是删除某个实体,但我想通知单击此命令的用户链接一个javascript函数confirm(str);如果confirm()答案为false,则不会触发ajax函数。所以我开始使用jsf.ajax.request函数;我的代码是这样的

<h:commandLink  value="ajax"  onclick="return ask(this,event,null,'page');" actionListener="#{test.ajax}"/>
<h:inputText value="#{test.page}" id="page"/>
,但它可以成功地执行,但我发现它不是ajax。支持bean的其他值也更新了!
如果有人能告诉我!感恩吧

我已经解决了我的问题。这是因为我不太理解jsf.ajax.request。如果我想在后台调用
actionListener
,我还需要执行其所有者dom对象的
actionListener

我已经解决了我的问题。这是因为我不太理解jsf.ajax.request。如果我想让
actionListener
在后台调用,我还需要执行其所有者dom对象的
actionListener

您不需要接管
的工作。只需再次点击即可

<h:commandLink value="ajax" action="#{test.ajax}" onclick="return confirm('Are you sure?')">
    <f:ajax execute="@this" render="page" />
</h:commandLink>
<h:inputText value="#{test.page}" id="page"/>


并使用
action
而不是
actionListener
。您可以在那里返回
null
void

您不需要接管
的工作。只需再次点击即可

<h:commandLink value="ajax" action="#{test.ajax}" onclick="return confirm('Are you sure?')">
    <f:ajax execute="@this" render="page" />
</h:commandLink>
<h:inputText value="#{test.page}" id="page"/>


并使用
action
而不是
actionListener
。您可以在那里返回
null
void

请在发送到浏览器时显示您的标记和代码(使用“查看源代码”),这样我们就不必弄清楚生成的HTML是什么样子。毕竟,这是JavaScript将看到的。请在发送到浏览器时显示您的标记和代码(使用“查看源代码”),这样我们就不必弄清楚生成的HTML是什么样子。毕竟,这是JavaScript将看到的;我们用户能解决这个问题吗?我也想知道在这种情况下;我们能为用户解决这个问题吗?谢谢!你说得对,但在渲染中似乎不是“@page”,而是“page”。执行时还应该添加“page”dom对象,否则只能执行一次ajax。是的,对不起,我的意思是键入
page
而不是
@page
。我可以问你一个关于JSF复合组件的问题吗?我编写了一个包含a的复合组件,它有一个呈现值,我给了它一个composite:attribute args。但是当我使用这个组件时,控制台给我的结果是javax.faces.FacesException:包含未知id“tableview”。我确信我有一个在外部页面调用tableview的id。您能告诉我解决方案吗?谢谢!非常感谢。你说得对,但在渲染中似乎不是“@page”,而是“page”。执行时还应该添加“page”dom对象,否则只能执行一次ajax。是的,对不起,我的意思是键入
page
而不是
@page
。我可以问你一个关于JSF复合组件的问题吗?我编写了一个包含a的复合组件,它有一个呈现值,我给了它一个composite:attribute args。但是当我使用这个组件时,控制台给我的结果是javax.faces.FacesException:包含未知id“tableview”。我确信我有一个在外部页面调用tableview的id。您能告诉我解决方案吗?谢谢!