设置类或ID 在JSF中

问题描述 投票:4回答:4

我正在尝试在JSF中的<h:inputHidden>上设置class或id参数。代码如下所示:

<h:inputHidden value="#{getData.name}" class="targ" />

但是在浏览器中,没有设置类:

<input type="hidden" name="j_idt6" value="j_idt6">

我需要为这个参数设置一个类,因为我有一个<h:inputText>的JavaScript自动完成函数,它在隐藏输入中设置一个值,需要在下一页中传递。

有任何想法吗?谢谢!

class jsf input hidden
4个回答
5
投票

我知道这有点晚了,但它可以帮助将来的某个人。由于inputHidden在浏览器中没有显示任何内容,因此无法让它拥有一个类。您可以使用Id,但是当您更改使用它的父组件时ID可能会发生变化会带来一些麻烦。

我建议作为一种解决方法,你可以给它一个父母,这样你就可以通过javascript操纵它。

例如:

JSF

<h:panelGroup styleClass="someCssClass">
   <h:inputHidden id="someId" value="someValue" />
</h:panelGroup>

Javascript(使用jQuery,你也可以使用纯JavaScript)

$('.someCssClass input[type=hidden]').val('yourNewValue');

1
投票

这些答案都没有满足我的需求(需要PrimeFaces组件,需要类而不是ID,包装太多了),所以这就是我提出的:

这基本上归结为使用这样的东西(因为h:inputHidden成为常规的input):document.querySelector("input[hidden-class=" + blah + "]")


0
投票

请参阅类似的问题 - How can I know the id of a JSF component so I can use in Javascript您可以选择“id”属性,但在最终的html代码中它可能不一样,但是复合:例如,如果您使用id="myhidden"输入id="myform",最终输入将具有id="myform:myhidden"


0
投票

最后,我使用了标准的HTML <input type="hidden">标签,因为我没有使用JSF标签的优势。如果您尝试使用JavaScript在隐藏输入中设置值,我建议您使用此解决方法。

© www.soinside.com 2019 - 2024. All rights reserved.