2017-10-23 11 views
0

私はESCキーを押した場合、ダイアログの確認を表示したい場合はこのイベントが発生しますp:commandButton。怒鳴るコード:私はできるだけ早く私はESCキーを2ダイアログdo you want closeショーを押すと、ボタンSAVE、ダイアログdo you want save?ショーをクリックしダイアログを閉じるダイアログのためにESCキーを押したときに確認ダイアログが表示されます

<p:dialog id="dlgEdit" closeOnEscape="false" closable="false" modal="true"> 
    ... 
    ... 
    ... 
    <p:commandButton process="@this" value="SAVE" widgetVar="btnSaveDialogEdit"> 
    <p:confirm ... 
       message="do you want save?"/> 
    </p:commandButton> 

    <p:commandButton process="@this" value="CLOSE" widgetVar="btnCloseDialogEdit"> 
    <p:confirm ... 
       message="do you want close?"/> 
    </p:commandButton> 

    <p:confirmDialog> 
    ...two commandbutton Yes/No 
    <p:confirmDialog> 

    <p:hotkey bind="esc" handler="PF('btnCloseDialogEdit').getJQ().click()" /> 
</p:dialog> 

。 confirmdialogでcloseOnEscape = "true"を有効にします。私は、ダイアログdo you want save?のキーESCを押すと、このダイアログは表示されませんが、私はできません。

答えて

0

次stuctureでいることを達成することができます:

<p:dialog id="dlgEdit" widgetVar="dlgEdit" 
    closeOnEscape="true" closable="false" modal="true"> 
    ... 
    ... 
    ... 

    <p:confirmDialog message="Do you want to save?" widgetVar="confirmClose"> 
     <p:commandButton value="Yes" 
      oncomplete="PF('confirmClose').hide();PF('dlgEdit').hide();" /> 
     <p:commandButton value="No" type="button" 
      onclick="PF('confirmClose').hide();PF('dlgEdit').hide();" /> 
    </p:confirmDialog> 

    <p:hotkey bind="esc" handler="PF('confirmClose').show();" /> 
</p:dialog> 

省メカニズムを処理するために、あなたのlistenerYesためのボタンを追加することを忘れないでください。

関連する問題