2013-04-08 2 views
2

В моем приложении я использую 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
<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 вы можете включить эти поля ввода на клик случае Edit кнопки. Ниже приведен простой пример скрипта, использующего jQuery для переключения состояния ввода в исходное состояние.

[Примечание: Это лишь простой пример, вам нужно настроить его в соответствии с вашими требованиями]

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

нормально .. это хорошо, когда мы нажимаем кнопку редактирования снова мы хотим напишите некоторые строки кода, но их любой вариант использования идентификатора формы может добавить параметр readonly, и когда мы нажмем кнопку «Изменить», это свойство изменится на readonly false ... –

+0

Чтобы изменить атрибуты dom, проверьте attr (http://api.jquery.com)./attr /), и если вы хотите удалить некоторые атрибуты, вы можете использовать функцию removeAttr (http://api.jquery.com/attr/) jQuery –

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

Пожалуйста, добавьте некоторое объяснение в свой ответ относительно того, как это решает проблему – Huangism

Смежные вопросы