簡體   English   中英

如何在jsf2.0中執行一些js函數后執行ajax

[英]how execute a ajax after some js function in jsf2.0

我經常使用,但是我有這個問題。 如果有一個動作是刪除某些實體,但我想通知用戶單擊此命令,則鏈接一個javascript函數Confirm(str); 如果confirm()答案為假,則不會觸發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"/>

這是我的JavaScript代碼

function ask(element,event,exec,target){
    if(confirm("are you ready to delete it"))
    {
        try{
            jsf.ajax.request(element,event,{execute:exec,render:target});
        }catch(ex){
            alert(ex);
            return false;
        }
    }else
        return false;
}

,但是它可以成功執行,但是我發現它不是ajax。backingbean的其他值也被更新了! 如果某人能告訴我! 非常感激!

您無需接管<f:ajax>的工作。 只需返回onclick。

<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 您可以在那里返回nullvoid

我已經解決了我的問題。 這是因為我不太了解jsf.ajax.request 如果我想在actionListener調用actionListener ,我還要獲取要執行其所有者actionListener對象的actionListener

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM