как выполнить ajax после некоторой функции js в jsf2.0 - PullRequest
1 голос
/ 21 мая 2011

Я часто использую, но у меня есть эта проблема. если есть действие, удалить какое-либо лицо, но я хочу уведомить пользователя, который щелкает по этой команде, ссылку javascript function verify (str); если ответ verify () ложен, он не вызывает функцию 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.other для вспомогательного компонента также не обновляется! если сб может подсказать! Будь благодарен!

Ответы [ 2 ]

1 голос
/ 22 мая 2011

Вам не нужно брать на работу <f:ajax>. Просто вернитесь в клик.

<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 туда.

0 голосов
/ 22 мая 2011

Я решил свою проблему.Это было потому, что я не понял jsf.ajax.request хорошо.Если я хочу, чтобы actionListener вызывал в поддержку, я также беру actionListener, чей объект owner-dom должен быть выполнен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...