0

jsfのcommandlinkのtarget属性にjavascriptで条件を設定したい。

条件が true の場合のみ、target 属性のみが機能し、そうでない場合は機能しません。

または、javascript を介して commandlink の target 属性の値を渡すことはできますか。

これが私のコードです:

<script language=javascript >
function open_win()
{

var selecttype = document.getElementById("frmList:Export").value;
var datetype1 = document.getElementById("frmList:fld_Date").value;

   if (selecttype == "PDF" && datetype1 != false)
return target = "_blank";
else 
return target = "_self"  
  }
 </script>


 <h:commandLink  target = "" onclick = "open_win()" style="border: none;"     
    actionListener="#{report.yes}">
    <h:graphicImage   
    style="border: none;" value="#{User.imageBasePath}/btn_yes.gif" />
  </h:commandLink>
4

1 に答える 1

0

JSF は、commandLink を<a>Javascript で変更できる HTML タグとしてレンダリングします。はい、次のようにして Javascript でターゲット属性を渡すことができます。

document.getElementById("frmList:reportLink").target = "_blank";

 <h:commandLink id="reportLink" onclick = "open_win()" style="border: none;" 
                    actionListener="#{report.yes}">

より良いアプローチは、このロジックを commandLink に追加することです。

<h:commandLink  target = "#{(export=='PDF' and fld_Date)?'_blank':'_self'}"
                style="border: none;" actionListener="#{report.yes}">
    <h:graphicImage style="border: none;" 
                value="#{User.imageBasePath}/btn_yes.gif" />
  </h:commandLink>
于 2013-04-01T15:57:50.803 に答える