[JSF] <h:commandButton> mudando o target do form

Pessoal,

Estou num projeto que mistura Tomahawk 1.1, RichFaces 1.1.3 e RI (!!!) 1.1_02.
As taglibs <h:> e <f:> são do RI, o filtro é do richfaces e é usado myfaces-extensions, além de usar as talibs do richfaces e do myfaces-extensions.
Pra piorar, o uso de JS é perigosamente abusado…
Não é possível arrumar essa bagunça agora.

Em várias telas, tenho algo assim:


&lt;h:commandButton value="xyz" action="{xpto.y} onclick="abre()" /&gt;

//...

function abre() {
    document.forms[0].target="abc";
    window.open("abc", maisummontedeopcoesdepopup);
}

O objetivo é quando eu clicar no botão ele abrir uma nova janela em um determinado tamanho e local, executando antes um código no servidor e usando o redirecionamento do JSF para definir o jsp que sera aberto na nova janela.

É uma tremenda duma gambiarra, mas funcionou um bom tempo…

Um belo dia resolveu parar de funcionar… Não sei se foi a mudança numa minor version, ou se foi efeito coleteral de ter mudado o saveState para client em vez de server ou alguma configuração obscura.

O problema é que o maldito <h:commandButton /> muda o target do form para nada (""), fazendo com a pagina seja aberta na janela atual e não numa outra janela. O popup abre numa janela em branco.

Existe um jeito “limpo” de fazer o <h:commandButton /> não alterar o target do form? Algum parâmetro de context?

[]'s

Rubem

Também estou com o mesmo problema, porém funciona no firefox e no IE ocorre o mesmo problema.

Valeu.