首页 > 解决方案 > XPages:禁用的属性会破坏 xp:inputText 所需的计算

问题描述

在我的应用程序中,我有一个 xp:inputText 控件,其中 disabled 属性设置为 true,所需的属性计算如下:

<xp:inputText 
    id="txtSecurityLevel"
    styleClass="form-control-static"
    value="#{employeeBean.employee.securityLvl}" 
    disabled="true" 
    >
    <xp:this.validators>
        <xp:validateRequired
            message="Unsufficient level of security">
        </xp:validateRequired>
    </xp:this.validators>
    <xp:this.required><![CDATA[#{javascript:return submittedBy("btnProceed")}]]></xp:this.required>
</xp:inputText>

该字段的值是预先填充的,我不希望用户更改该值。

当我对其他 inputText 控件使用相同的方法但将 disabled 属性设置为 false 时,将为这些字段启动验证。

我应该使用另一种方法吗?

标签: xpages

解决方案


要使该字段不可编辑,请使用该readonly属性。

Internet Explorer 过去允许disabledreadonly属性互换。但是在 IE10 中,他们改变了行为,disabled就像在其他浏览器中一样,即值不会从浏览器传递到服务器。因为它没有从浏览器传回,所以您的验证失败。disabled用于浏览器应该无法使用的输入,请参阅https://www.w3schools.com/Tags/att_input_disabled.asp。你想要的是它对用户是只读的。


推荐阅读