PrimeFaces: Problema com submit em form

1 resposta
Leandro_M

Olá,

Tenho uma tela (.xhtml) com um componente h:selectOneListbox e uma p:dataTable, na qual quando se seleciona um item do selectOneListbox, a dataTable é atualizado utilizando como parâmetro de entrada o item selecionado.

O problema é que o form está sendo submetido de acordo com a quantidade de itens do selectOneListBox. Ou seja, 5 itens no select = submit 5 vezes,

Alguém já passou por isso?

Código da tela
<p:panel header="Tabela" style="font-size: 0.813em">
                    <h:panelGrid id="painelGridTable" columns="2" cellspacing="20" style="font-size: 0.813em;">

                        <h:selectOneListbox id="basic" value="#{tabelaBean.idSelectMenuTurmas}" style="font-size: 1.25em;" onclick="submit('tabela');">  
                            <f:selectItems value="#{tabelaBean.listDeTurmas}" />   
                        </h:selectOneListbox> 

                        <h:form id="tabela">
                            <p:dataTable var="tbl" value="#{tabelaBean.listaDeMateriaisDaTurma}"
                                         selectionMode="single" paginator="true"
                                         rows="7"
                                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"  
                                         style="width: 100%;" emptyMessage="Vazio">

                                <f:facet name="header">
                                    <h:outputText value="Arquivos" style="font-size: 12px;"/>
                                </f:facet>

                                <p:column style="font-size: 12px;">
                                    <f:facet name="header">
                                        <h:outputText value="Nome" title="Nome do arquivo"/>
                                    </f:facet>
                                    <h:outputText value="#{tbl.arquivo.nome}" />
                                </p:column>
                                
                                <p:column style="font-size: 12px;">
                                    <f:facet name="header">
                                        <h:outputText value="Assunto"/>
                                    </f:facet>
                                    <h:outputText value="#{tbl.arquivo.assunto}" />
                                </p:column>
                                
                                <p:column style="font-size: 12px;">
                                    <f:facet name="header">
                                        <h:outputText value="Data Cad" title="Data do cadastramento do arquivo"/>
                                    </f:facet>
                                    <h:outputText value="#{tbl.arquivo.dataUltimaModicacao}" />
                                </p:column>
                            </p:dataTable>
                        </h:form>
                    </h:panelGrid>
                </p:panel>
submit
function submit(nome){
    alert('nome');
    document.forms[nome].submit();
}
Obrigado

1 Resposta

A

cara,

vc nao precisa usar essa função javascript, basta vc usar o metodo actionlistener, que vai fazer o que vc quer.

t+

Criado 4 de fevereiro de 2012
Ultima resposta 4 de fev. de 2012
Respostas 1
Participantes 2