【问题标题】:Primefaces do not submit hidden inputPrimefaces 不提交隐藏输入
【发布时间】:2014-09-03 08:41:57
【问题描述】:

我正在使用 Primefaces 5.0.4 和 JSF 2.2。我有一个 dataTable,在行中有一些隐藏的输入,用于设置一些 js 值。我的问题是我想提交表格,而不是隐藏的输入,因为它们引用了不可写的属性。这可能吗?

最好的问候

【问题讨论】:

    标签: jsf input primefaces hidden hiddenfield


    【解决方案1】:

    也许使用 HTML 隐藏字段可以解决您的问题,它不会阻止它们被提交,但它们不会更新您的 JSF 支持 bean。

    <input type="hidden" value="#{yourBean.value}" />
    

    这个输入可以像往常一样通过 JavaScript 使用,您也可以直接将 bean 值分配给页面上的 js 变量。

    根据您的评论,我已经更新了我的建议。您还可以使用一个 JS 表来保存所有表值,只需在每一行添加一些 JS,如下所示:

    <script>table['#{yourBean.someId}'] = '#{yourBean.value}';</script>
    

    不要忘记在你的数据表之外声明 js 表变量。

    【讨论】:

    • 您好,感谢您的回答。我尝试了 而不是 ,它会因任何原因破坏我的 jquery dnd。它只是在处理完表格后停止,没有任何控制台错误
    • 对不起,这是我的错,我在处理后更新了表格,所以我的 dnd 坏了。删除它现在可以使用的更新,即使它可能不是 BalusC 已经提到的方式。有谁知道这是怎么做到的?
    • 谢谢,非常感谢您的回答。以表的大小创建一个 JS 数组作为替代方案。但是因为它确实适用于您的第一个选项,所以我会保留这个选项。我觉得读起来更舒服。无论如何谢谢;)
    • 不客气,如果您满意,请采纳答案。
    • 嗨,我知道这个话题已经得到解答,但我有一个关于这个的高级问题:我现在创建了一个带有 key = rowId 和 value = #{bean.getAmount(rowKey)} 的 javascript Map。在推送时,该行得到更新,但 javascript Map 没有获得新值。我在一列中添加了以下脚本标记:
    猜你喜欢
    • 2019-07-29
    • 2018-03-13
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    • 2013-06-12
    • 2019-05-11
    • 1970-01-01
    • 2018-01-28
    相关资源
    最近更新 更多