Spring表单输入无法禁用。

13

我想通过设置 <form:input> 的disabled属性来禁用它,但是没有生效。

<td class="value">
                <sec:authorize access="hasAnyRole('ROLE_EDIT_DEVICE_INSTALL_DATE')">
                    <form:input path="installDt"  maxlength="10" size="10"  cssClass="installDatePicker" /> 
                    <form:errors path="installDt" cssClass="errormsg" />
                </sec:authorize>
                <sec:authorize access="!hasAnyRole('ROLE_EDIT_DEVICE_INSTALL_DATE')">
                    <form:input path="installDt"  maxlength="10" size="10"  cssClass="installDatePicker" disabled="disabled" /> 
                    <form:errors path="installDt" cssClass="errormsg" />
                </sec:authorize>  
</td>

有人有解决办法吗?

4个回答

21

要禁用它,请使用disabled=true。它接受true|false。

<form:input path="installDt"  maxlength="10" size="10"  cssClass="installDatePicker" disabled="true" />

1
在这种情况下,接收端的值为空。 - susan097

11
当我尝试使用 disabled="true" 来禁用输入时,核心代码中的数据为空,但是当我尝试使用 readonly 时,它可以正常工作。请尝试使用 readonly="readonly"

3
是的,当使用disabled="true"时,重定向到此页面无法访问值(例如:验证错误)。在我的情况下,在<form:input>标记中使用readonly="true"解决了我的问题。感谢您提供的好建议。 - Cataclysm

5
当我添加 disabled="disable" 时,它不能正常工作。
当我添加 disabled="true" 时,接收端的值为null。
当我添加 readonly="true" 时,它可以正常工作。

0

我移除了cssClass日期选择器并将禁用布尔值设置为true,它可以正常工作


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接