为什么在我的对话框中按Enter键InputText字段打开另一个对话框?

时间:2016-09-16 13:17:57

标签: jsf primefaces

单击按钮“保存”,然后按下Enter键以关注焦点的InputText。现在我的另一个Dialog打开了。当InputText没有焦点时,按Enter键不会打开另一个对话框。为什么会这样?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<h:body>
    <h:form>
        <!-- BUTTONS -->
        <p:commandButton 
            id="defineXmlButton" 
            value="define"
            oncomplete="PF('dialogTxParams').show();"
            update="dialogTxParams" />

        <p:commandButton 
            id="openSaveChainDialogButton"
            value="save" 
            ajax="true"
            onclick="PF('saveChainDialog').show();"
            />

        <!-- DIALOGS -->
        <p:dialog header="Save Dialog" widgetVar="saveChainDialog"
                id="saveChainDialog" modal="true" resizable="false"
                closeOnEscape="true">

            <h:panelGrid columns="3" cellpadding="5" cellspacing="0">
                <p:outputLabel for="chainname">Name</p:outputLabel>
                <p:inputText id="chainname" value=""></p:inputText>
                <p:commandButton 
                    id="saveChainButton"
                    value="OK" 
                    actionListener="#{chainController.saveChain()}"
                    ajax="true" 
                    oncomplete="PF('saveChainDialog').hide();"
                    update="saveChainDialog">
                </p:commandButton>
            </h:panelGrid>

        </p:dialog>

        <p:dialog 
            header="#{txWfSenderModel.selectedWf.description}"
            id="dialogTxParams" 
            widgetVar="dialogTxParams" 
            modal="false"
            resizable="false" 
            dynamic="true" 
            fitViewport="true"
            closeOnEscape="true">

        </p:dialog> 
    </h:form>       
</h:body>
</html>

编辑: Kukeltje引发了另一个问题,帮助我找到了解决方案。查看评论。我通过为每个对话框使用自己的<h:form>标记来解决问题,因此默认按钮是正确的。

0 个答案:

没有答案