0

我想通过javascript为jsf中commandlink的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 呈现为 HTML<a>标记,可以在 Javascript 中进行修改。是的,您可以通过以下方式在 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 回答