많은 관련 속성을 포함하는 "Device"라는 모델 클래스가 있다고 가정 할 때 Javascript를 사용하여 확인란에 "Device"객체를 가져 오는 방법이 있습니까?자바 스크립트 : 체크 박스에서 객체 가져 오기
JSP 페이지 :
<c:forEach var="device" items="${row.deviceList}">
<input type="checkbox" name="deviceDetails" value="${device}">
<c:out value="${device.equipNo}" />
</c:forEach>
자바 스크립트 :
var total = document.getElementsByName("deviceDetails");
// run through all element of checkedbox named deviceDetails
for(j=0; j<total.length; j++)
{
<!-- get instance Device object ? -->
alert(total[j].value);
}
내가 총 [J]를 호출하는 시도 나는 명확하게 밝히지 않은 경우
, 여기에 샘플입니다. 값은 "Device"객체 대신 toString() 함수의 문자열 만 반환했습니다.
내가 "Device"개체 전체를 가져올 수 없으면 확인란을 통해 모든 특성을 하나씩 가져와 Javascript의 "Device"개체로 어셈블해야하기 때문에 이러한 방식으로 수행해야합니다. 예를 들면 :
JSP 페이지 :
<c:forEach var="device" items="${row.deviceList}">
<input type="checkbox" name="id" value="${device.stnID}">
<c:out value="${device.stnID}" />
<input type="checkbox" name="stnName" value="${device.stnName}">
<c:out value="${device.stnName}" />
<input type="checkbox" name="equipNo" value="${device.equipNo}">
<c:out value="${device.equipNo}" />
</c:forEach>
자바 스크립트 :
var allID = document.getElementsByName("id");
var allName = document.getElementsByName("stnName");
var allNo = document.getElementsByName("equipNo");
var deviceList = new Array();
var device = new Object();
for(i=0; i<allID.length; i++)
{
device.id = allID[i].value;
device.stnName = allName[i].value;
device.equipNo = allNo[i].value;
deviceList.push(device);
}
는 개인적으로, 나는 두 번째 방법은 좋은 아이디어라고 생각하지 않습니다. 그러므로 여기에있는 누군가가 체크 박스에있는 객체를 통해 더 나은 제안이나 아이디어를 전달할 수 있기를 바랍니다. 고마워요!
제퍼슨 감사합니다. JSON을 사용하여 관리 할 수 있었지만 프론트 엔드 JSP와 백엔드 서블릿간에 통신하는 것이 정말 유용하다는 것을 알게되었습니다. 그런데 프론트 엔드 JSP에는 기본 JSON2.js를, 백엔드 Java Servlet에는 Gson을 사용했습니다. 그들은 잘 작동합니다! – ShadowScorpion