如何使Spring表单只读?

时间:2013-04-08 09:09:11

标签: javascript jquery spring jsp

在我的应用程序中,我正在使用Spring提供的标签...

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

    <fieldset id="user1">
       <form:form action="frm1" modelAttribute="SUPER" >
         ------
         ------
       </form:form>
    </fieldset>

而我的要求基本上只是表格只有当我们点击表格的编辑按钮时,只有表格会改变可编辑模式。

我正在尝试readonly属性但不工作..我认为这个属性为html。

请给我建议如何在任何java相关技术中执行此操作.. 像javascript和JQuery一样。

2 个答案:

答案 0 :(得分:10)

<form:input path="firstName" class="form-control"
            placeholder="First Name"  type="text" readonly="true"/>

答案 1 :(得分:2)

您可以使用 c标记库在使用readonly =“readonly”属性时为模型中的输入值指定值。

<form:form id="simpleDomainForm" modelAttribute="simpleDomain">
<input name="modelId" value='<c:out value="${simpleDomain.modelId}"></c:out>' readonly="readonly" class="required">
<input name="modelName" value='<c:out value="${simpleDomain.modelName}"></c:out>' readonly="readonly" class="required">
<input type="button" value="Toggle" onclick="toggleForm();">
</form:form>

在jQuery中,您可以在修改按钮的点击事件中启用这些输入框。以下是使用jQuery切换只读输入状态的脚本的简单示例。

[注意:这只是一个简单的例子,您需要根据您的要求进行自定义]

<script>
function toggleForm(){
    if($("#simpleDomainForm").children(".required").attr("readonly") == "readonly")
        $("#simpleDomainForm").children(".required").removeAttr("readonly");
    else
        $("#simpleDomainForm").children(".required").attr("readonly", "readonly");
}
</script>