Primefaces функции виджета не работают, если я отправляю, используя вызов ajax - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь включить / отключить кнопку, основываясь на нажатии другой кнопки в моем xhtml.Это не работает, когда я использую AJAX-вызов, но работает, если я отключаю AJAX.

Как мне сделать эту работу.

XHTML (это работает, и кнопка набирается в течение нескольких секунд, но страницазагружается и кнопка снова включается)

<p:commandButton id="generateBtn" value="Generate Text"
                action="#{decisionTreeBean.generateText}" styleClass="generateBtn" widgetVar="gb"
                update=":#{p:component('decisionNotes')}" >
            </p:commandButton>

            <p:commandButton id="clearBtn" value="Clear"
                action="#{decisionTreeBean.clearText}"  styleClass="clearBtn" widgetVar="cb"
                update=":#{p:component('decisionNotes')} :#{p:component('searchForm')}" ajax="false">
            </p:commandButton>

xhtml (не работает вообще)

<p:commandButton id="generateBtn" value="Generate Text"
                action="#{decisionTreeBean.generateText}" styleClass="generateBtn" widgetVar="gb"
                update=":#{p:component('decisionNotes')}" >
            </p:commandButton>

            <p:commandButton id="clearBtn" value="Clear"
                action="#{decisionTreeBean.clearText}"  styleClass="clearBtn" widgetVar="cb"
                update=":#{p:component('decisionNotes')} :#{p:component('searchForm')}">
            </p:commandButton>

Jquery

<SCRIPT type="text/javascript">
            jQuery(document).ready(function() {
                if (top.frames.length != 0) {
                    top.location = self.document.location;
                }
                jQuery(".clearBtn").click(function(event){
                    PF('gb').disable(); // works without ajax
                });
            });
</SCRIPT>

1 Ответ

0 голосов
/ 24 сентября 2018

Попробуйте добавить свой generateButton к предложению update вашего clearButton.

Если бы мне пришлось угадать, почему он работает в не-ajax-версии, что вы фактически обновляете свой сайт, поэтому generateButton получаетвызов, что он отключен (но затем сайт перезагружается, поэтому состояние сбрасывается).Поскольку вы не обновляете эту кнопку в вашей ajax-версии, кнопка никогда не обновляется, поэтому не отключается.

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