2011-01-24 22 views
6

Bir web uygulamasında A4J, Richfaces kullanarak, kullanıcı <a4j:commandButton>'u tıklattığında yeni bir tarayıcı penceresi açmam gerekir.a4j'de yeni bir pencere açın: commandButton

window.open(URL, ...)'u kullanmam gerekecek. Onu nereye koymalıyım? Böyle

Benim <a4j:commandButton> görünüyor:

<a4j:commandButton id="elementDetailsButton" 
    onclick="if (!confirm('Are you sure? Unsaved data will be lost')) { return false; }" 
    action="#{myBean.elementDetailsAction}" 
    value="Element Details"> 
    <a4j:actionparam name="elementDetailsString" 
     value="getElementDetails()" 
     assignTo="#{myBean.elementDetails}" noEscape="true"> 
    </a4j:actionparam> 
</a4j:commandButton> 

cevap

5

Sen window.open onaylamak ve return false

<a4j:commandButton id="elementDetailsButton" 
    onclick="if (confirm('Are you sure? Unsaved data will be lost')) { window.open(URL, ...) } else { return false }" (...) /> 

"Else" olamaz belki gerekli isteğe bağlı değil.

Yoksa formu hedefini değiştirebilir .. Ben çok iyi onun doğru sözdizimi eğer hatırlamıyorum ...

<a4j:commandButton id="elementDetailsButton" onclick="this.form.taget='_blank'" (...) /> 

... ya da onun gibi bir şey.

Form hedefini değiştirmek size güzel bir sorun verecektir. Geri kalanınız yeni pencereyi hedefleyecektir .. Bu sorunu çözmek için pencereyi (modalPanel) kapatmak ve form hedefini sıfırlamak için <h:commandLink/> yaptım.

Bu <rich:modalPanel/> içinde <iframe/> kullanarak .pdf raporlarını açmak için bunu (hedef hilesi) kullanıyordum. Sana, onay ister bir eylem yürütmek ve yeni bir pencere hakkı açmak istediğiniz KomutDüğmesi'ı görebileceğiniz gibi

Fakat formu hedef senin sorun için yararlı olacağını değiştirirseniz emin değilim ..

2

? Bir düğmenin çok fazla işlem yapabildiğinden tam olarak emin değilim, ancak her zaman yükleme yapılandırmasını kullanmayı ve yüklemek istediğiniz sayfaya bir eylem atamayı ve komutanın hem onayı hem de pencereyi açma eylemini ele almasını sağladığınızdan emin olabilirsiniz. Renan önerdi.

İlgili konular