질문은 getting a spring model attribute list element using an index from javascript을 기반으로하며 html 요소의 각 이름에 인덱스가 있어야한다고 설명합니다. 예제 사용자 [0]스프링 mvc로 목록에 요소 바인딩 ModelAttribute
사용자가 제출하기 전에 목록에서 요소를 dinamically 추가하거나 제거 할 수있는 양식이 있습니다. 제가 예를 넣어 보자 : 양식은 이제 3 개 입력을 포함 할 수 있도록 우리가, 3 사용자를 추가 :
<input name="user[0].name" type="text" />
<input name="user[0].surname" type="text" />
<input name="user[1].name" type="text" />
<input name="user[1].surname" type="text" />
<input name="user[2].name" type="text" />
<input name="user[2].surname" type="text" />
우리는이를 제출하는 경우
, 우리는 3 사용자 이름과 성을 가진 각을해야합니다. 우리는 사용자를 제거하려고 할 때 문제가 온다 [1] 때문에 나는 욕실까지이 HTML과 : 우리는이 양식을 제출하면<input name="user[0].name" type="text" />
<input name="user[0].surname" type="text" />
<input name="user[2].name" type="text" />
<input name="user[2].surname" type="text" />
, 스프링은 여전히 3 사용자를 생성하지만, 사용자가 [1] 널 (null)이있을 것이다 이름과성에 대한 값.
입력 이름을 항상 "올바른"형식으로 처리 할 수 있다는 것을 알고 있습니다. 그러나 다른 해결책이 있습니까?
<input name="user[].name" type="text" />
<input name="user[].surname" type="text" />
<input name="user[].name" type="text" />
<input name="user[].surname" type="text" />
과 같은 형식이 문제를 해결할 수 있다고 생각했지만 그때 나는 깨달았습니다. 스프링이 어떻게 성을 가지고 있는지 알 수 있습니다.
더 나은 솔루션에 대한 아이디어가 있습니까?
<div class="container">
<input name="name" type="text" />
<input name="surname" type="text" />
</div>
<div class="container">
<input name="name" type="text" />
<input name="surname" type="text" />
</div>
<div class="container">
<input name="name" type="text" />
<input name="surname" type="text" />
</div>
그래서 양식을 제출하기 전에 내가 updateIndexedInputNames($(".container"), "user");
필드를 제거하는 방법은 무엇입니까? HTML 숨기기/비활성화 또는 제거를 의미합니까? – xyz
같은 종류의 문제가 있었는데, 아마도 이것이 당신을 도울 수 있습니다 : [Spring 3 MVC : 동적 폼 내에서 일대 다 (create/update에서 추가/삭제)] (http://stackoverflow.com/a/) 9993144/1225328) – sp00m
안녕하세요 Ajinkya, 입력을 제거하려면 jquery를 사용하고 있습니다. 그들은 몇몇 divs로 감싸이고 다른 HTML 부호는 내가 생략 한 것이다. – gfournier