当在同一表单中有脚本时,Primefaces commandButton不会调用操作

时间:2016-02-28 15:05:34

标签: javascript jsf-2 primefaces

我使用脚本添加" maskMoney"到p:对话框内的输入字段。我发现我需要将脚本放在表单中,否则它不会起作用。问题是,当脚本在表单内部时,我的p:comandButton不会调用该操作,如果我将脚本移动到表单外部,p:commandButton可以工作,但是我的脚本没有(不应用蒙版。)

如果我添加" process =" @ this&#34 ;, commandbutton工作正常,但显然没有提交表单,只需调用操作。

我试图使用" partialSubmit"只处理组件而不是整体形式,但没有成功。

<h:form id="inserir_valor" >
    <script>
        jQuery(function($)
        {$("input.dinheiro").maskMoney({showSymbol:true, symbol:"R$", decimal:",", thousands:"."});
                    });
    </script>
    <p:dialog id="inserir_valor_tela" header="Inserindo..." widgetVar="tela_valor_pgto" resizable="false" modal="true" >
        <h:panelGrid columns="2" cellpadding="5">
            <h:outputLabel value="Valor:"/>
            <p:inputText value="#{pedidosBean.valorFatura}" id="valor_inserido" size="10" required="true" styleClass="dinheiro"/>
        </h:panelGrid>
        <h:panelGrid columns="3" cellpadding="5">
            <p:outputLabel value="Prazo:"/>
            <p:inputText id="entrada_prazo" value="#{pedidosBean.codigoPrazo}" size="4" 
                    onkeypress="if (event.keyCode == 13) { onchange(); return false; }">
                <p:ajax event="change" listener="#{pedidosBean.carregarPrazo}" update=":inserir_valor:prazo_menu"/>
            </p:inputText>
            <p:selectOneMenu id="prazo_menu" value="#{pedidosBean.faturaSelecionada.prazo.codigo}" required="true">                         
                <f:selectItems value="#{pedidosBean.listaPrazos}" var="prazo"
                        itemValue="#{prazo.codigo}" itemLabel="#{prazo.prazo}"/>
                <p:ajax listener="#{pedidosBean.prazoSelecionadoMenu()}" update="inserir_valor" />
            </p:selectOneMenu>
        </h:panelGrid>
        <p:commandButton value="Adicionar" partialSubmit="true" action="#{pedidosBean.adicionarPgto()}" class="botao_sub_menu" 
                update=":faturamento:prazos_faturamento" process=":inserir_valor:valor_inserido @this" 
                oncomplete="PF('tela_valor_pgto').hide();"/>
    </p:dialog>
</h:form>

我尝试将脚本放在一个单独的文件中并使用h调用:outputscript target =&#34; head&#34;在h:body的末尾,但它也不起作用。

我使用的是primefaces 5.1和JSF 2,并且在chrome中也没有错误消息。

如何将我的脚本与我的按钮一起使用?

0 个答案:

没有答案