Popup no jsf abrindo errada

1 resposta
D

Opa…consegui fazer a popup no JSF, mas ela ta me trazendo a página errada…ela ta abrindo no fundo a mesma página que chamou…alguém pode me ajudar?

Este é o código que chama o javascript pelo botão

<jsp:root version="1.2" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:ui="http://www.sun.com/web/ui">
    <script language="javascript">
        function teste(){
            alert("mensagem de teste");
        }
        
        function abrirPopup(){
            window.open('/InternetCreditWeb/simulacao/buscarTeste.jsp', '_blank', width='350', height='200');
        }    

        var formId; // referencia pro form principal
        var winId; // referencia para o popup


        // Essa função chama o popup.
        //
        function showSearchList(action, form, target) {
                
                formId=action.form.id;
                features="height=640,width=480,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes";			
                winId=window.open('','busca',features); // open an empty window
                
                uiform=document.forms[form]; // referencia para o hidden form
                
                //Essa é uma emulação de ação do link sendo clicado.
                //uiform[form+':'+target].value=form+':'+target;
                
                // Copia o valor do segmento e do ano modelo
                // para o campo correspondente no hidden form.
                uiform[form+":segmento"].value = getSegmentoSelect(action.form);
                uiform[form+":anoModelo"].value = getAnoModeloTextField(action.form);
                alert(uiform[form+":anoModelo"].value);
                // Submita o hidden form. A saída será enviada na popup.
                uiform.submit();
                
        }


        // Essa funcao é chamada através da popup quando o usuário 
        // seleciona o plano da tabela.
        // O valor escolhido é copiado para o "planoTextField"
        // no form principal.
        // 
        function updatePlano(plano) {
                                form=document.forms[formId];
                                form[formId+":planoTextField"].value=plano;
                                winId.close();
        }


        // Essa funcão retorna o valor selecionado 
        // do segmento.
        //
        function getSegmentoSelect (form) {
                field = form[form.id+":segmentoSelect"];
                return field.value;
        }
        // Essa funcão retorna o valor selecionado 
        // do ano modelo.
        //
        function getAnoModeloTextField (form) {
                field = form[form.id+":anoModeloTextField"];
                return field.value;
        }
        
        // Essa função limpa o campo "planoTextField".
        //  
        function resetTextField(form, field) {
                fieldName=form.id+":"+field;
                form[fieldName].value="";
        }        
        
    </script>

<ui:button action="buscarPlano" immediate="true" onClick="return false" onMouseDown="showSearchList(this,'segmento','busca')" binding="#{simulacao$Simulacao.buscarPlanoBotao}" id="buscarPlanoBotao"
                                                    styleClass="btoes" text="Buscar Plano" />

<ui:form id="segmento" target="busca">
                        <ui:hiddenField id="segmento" value="#{simulacao$Simulacao.segmentoSelect}" ></ui:hiddenField>
                        <ui:hiddenField id="anoModelo" value="#{simulacao$Simulacao.anoModeloTextField}"></ui:hiddenField>
                        <ui:hyperlink action="buscarPlano" id="busca" text="">
                            <f:verbatim></f:verbatim>
                        </ui:hyperlink>
                    </ui:form>

essa é a tela que deveria ser aberta

<?xml version="1.0" encoding="UTF-8"?>
<jsp:root version="1.2" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:ui="http://www.sun.com/web/ui">
    <script type="text/javascript">
			function update(plano) {
				window.opener.updatePlano(plano);
			}	
    </script>
    <jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/>
    <f:view>
        <ui:page binding="#{simulacao$buscarPlano.page1}" id="page1">
            <ui:html binding="#{simulacao$buscarPlano.html1}" id="html1">
                <ui:head binding="#{simulacao$buscarPlano.head1}" id="head1">
                    <ui:link binding="#{simulacao$buscarPlano.link1}" id="link1" url="/resources/stylesheet.css"/>
                </ui:head>
                <ui:body binding="#{simulacao$buscarPlano.body1}" id="body1" style="-rave-layout: grid">
                    <ui:form binding="#{simulacao$buscarPlano.form1}" id="form1">
                        <h:dataTable binding="#{simulacao$buscarPlano.dataTable1}" headerClass="list-header" id="dataTable1"
                            rowClasses="list-row-even,list-row-odd" style="left: 144px; top: 48px; position: absolute"
                            value="#{simulacao$buscarPlano.dataTable1Model}" var="currentRow">
                            <h:column binding="#{simulacao$buscarPlano.column1}" id="column1">
                                <h:outputText binding="#{simulacao$buscarPlano.outputText1}" id="outputText1" value="#{currentRow['COLUMN1']}"/>
                                <f:facet name="header">
                                    <h:outputText binding="#{simulacao$buscarPlano.outputText2}" id="outputText2" value="coluna1"/>
                                </f:facet>
                                <ui:radioButton binding="#{simulacao$buscarPlano.radioButton1}" id="radioButton1" onMouseDown="update(this.name)" label="Botão de opção" name="radioButton-group-column1"/>
                            </h:column>
                            <h:column binding="#{simulacao$buscarPlano.column2}" id="column2">
                                <h:outputText binding="#{simulacao$buscarPlano.outputText3}" id="outputText3" value="#{currentRow['COLUMN2']}"/>
                                <f:facet name="header">
                                    <h:outputText binding="#{simulacao$buscarPlano.outputText4}" id="outputText4" value="coluna2"/>
                                </f:facet>
                            </h:column>
                            <h:column binding="#{simulacao$buscarPlano.column3}" id="column3">
                                <h:outputText binding="#{simulacao$buscarPlano.outputText5}" id="outputText5" value="#{currentRow['COLUMN3']}"/>
                                <f:facet name="header">
                                    <h:outputText binding="#{simulacao$buscarPlano.outputText6}" id="outputText6" value="coluna3"/>
                                </f:facet>
                            </h:column>
                        </h:dataTable>
                    </ui:form>
                </ui:body>
            </ui:html>
        </ui:page>
    </f:view>
</jsp:root>

1 Resposta

S

Oi Padilha, nós estamos tendo o mesmo problema…

vc conseguiu alguma solução?!?!

Att.

Romão.

Criado 23 de agosto de 2007
Ultima resposta 8 de jul. de 2008
Respostas 1
Participantes 2