javascript无法在内部隐藏按钮<;h:表格>;

javascript无法在内部隐藏按钮<;h:表格>;,javascript,html,jquery-ui,jsf-2,primefaces,Javascript,Html,Jquery Ui,Jsf 2,Primefaces,我想在提交对话框时隐藏我的图标/按钮…当我将图标/按钮放入 这是我的图标代码 <h:outputLink id="loginLink" value="javascript:void(0)" onclick="dlg.show()"> <p:graphicImage value="/images/logo.png" /> </h:outputLink> 这样,我面临的问题是:( 注:使用对我来说是必须的,

我想在提交对话框时隐藏我的图标/按钮…当我将图标/按钮放入

这是我的图标代码

<h:outputLink id="loginLink" value="javascript:void(0)"
                onclick="dlg.show()">
            <p:graphicImage value="/images/logo.png" />
</h:outputLink>
这样,我面临的问题是:(

注:使用
对我来说是必须的,因为我将把我的代码放在
中,它需要放在
中,谢谢您的回复:) 下面的代码对我来说很好

<h:form id="loginForm">

和javaScript

jQuery('#loginForm').fadeOut()

(#id为
表单
代替#id为
按钮/链接

这样我可以隐藏我的完整表单,它有图标/按钮

实际上,当我放置按钮/链接时,按钮的
id内的图标对javaScript不可见

当我将id赋予
并隐藏整个表单而不是单个组件(按钮)时,它对我来说很好:)


我将在
中尝试此方法,希望在那里效果良好…

除了隐藏完整表单之外,您可以仅使用以下方法隐藏表单中的元素:

<h:form id="loginForm">
    <h:outputLink id="loginLink" />
</h:form>

<script type="text/javascript">
    function handleLoginRequest(xhr, status, args) {
        dlg.hide();
        $("[id='loginForm:loginLink']").fadeOut();
    }
</script>

函数handleLoginRequest(xhr、状态、参数){
dlg.hide();
$(“[id='loginForm:loginLink']”);
}
在上面的示例中,jQuery转义id中的“:”

您还可以使用JSF的绑定:

<h:form>
    <h:outputLink binding="#{loginLink}"/>
</h:form>

<script type="text/javascript">
    function handleLoginRequest(xhr, status, args) {
        dlg.hide();
        $("[id='#{loginLink.clientId}']").fadeOut();
    }
</script>

函数handleLoginRequest(xhr、状态、参数){
dlg.hide();
$(“[id='{loginLink.clientId}]”).fadeOut();
}

选择你的选择;-)

我对jsf不太熟悉,无法提供一个工作示例,但是asp.net中存在这种类型的组件重命名。。。这些帖子描述了可能有用的解决方案:,添加
将在所有元素ID前面加前缀,请参阅。@Mohit Saluja:是否有必要(或特定的)使用
?你可以试试
@A.K,那没关系……我认为即使在这种情况下问题也会是一样的……@Mohit Saluja:我不这么认为,你试过了吗?你的解决方案是一种变通方法,它不会解决问题本身。请查看我的答案以获得可靠的解决方案。;-)是的,你是对的,隐藏整个
在primefaces
的情况下对我不起作用,因为我需要将它保存在
中…我提供了一个解决方案,我使用了javaScript并隐藏了唯一的
…这与你的答案几乎相同。。。谢谢你的回答谢谢你的回答我已经有了一个和你差不多的解决方案。。。。我尝试了一些类似于您的第一个代码的东西,但跳过了“$”(“[id='loginForm:loginLink']”)中的
id=
所以我想这就是为什么它对我不起作用的原因。。在你的第二个答案中,我也尝试过类似的答案,但我使用了

<h:form id="loginForm">
<h:form id="loginForm">
    <h:outputLink id="loginLink" />
</h:form>

<script type="text/javascript">
    function handleLoginRequest(xhr, status, args) {
        dlg.hide();
        $("[id='loginForm:loginLink']").fadeOut();
    }
</script>
<h:form>
    <h:outputLink binding="#{loginLink}"/>
</h:form>

<script type="text/javascript">
    function handleLoginRequest(xhr, status, args) {
        dlg.hide();
        $("[id='#{loginLink.clientId}']").fadeOut();
    }
</script>