我使用脚本添加" 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中也没有错误消息。
如何将我的脚本与我的按钮一起使用?