我想通过javascript为jsf中的commandlink的目标属性设置条件。
如果条件为真,则只有目标属性有效,否则无效。
或者我们可以通过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>
JSF将commandLink呈现为可以在Javascript中修改的HTML <a>
标记。是的,你可以在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>