상세보기에서 마지막 다음버튼을 누를시에 이전으로 돌아가려면 버튼을 두번 눌러야했음
그래서 수정하기로
1
2
3
4
5
6
7
8
9
10
|
$("#nextDetailView").click(function() {
cnt = cnt + 1;
console.log("nextDetailView - 다음");
console.log("cnt: "+cnt+", selCount: "+selCount);
if (cnt < selCount) {
reNextDetailView(list, modalTitle, cnt, selCount);
} else {
alert("선택하신 데이터에 마지막입니다.");
}
});
|
cs |
이렇게 다음 버튼을 누를때 마다 cnt(상세정보를 담고있는 배열에서 변수역활 초기값을 0으로 주고 +1씩 증가시켰음)를 1씩 증가해주고
배열은 0 부터 시작하니 selCount(선택한 배열의 갯수 rowid.length) 보다 작을때 까지 반복하기로 설정
selCount와 같아지거나 커지면 알럿창을 발생시키기로 설정해놨었다.
그런데, 생각지 못한것이 알럿창이 발생하고도 버튼이 계속 눌러져 cnt값이 계속 증가했던것임
다음버튼을 계속 누른 상태에서 이전버튼을 누르면 당연히 해당 배열값이 없기때문에 빈 모델창이 뜬다.
(만약 그대로 수정창으로 옮겨갔다면 rowid값과cnt값이 필요한 수정저장이 안될것임)
빨간네모 - 알럿창 발생
초록네모 - 알럿창 발생 이후 다음버튼을 계속 눌렀을때 cnt값 증가
보라네모 - 초록네모 상태에서 이전버튼 클릭시 cnt-1과 에러, 빈 모델창 발생
그래서 수정하기로
1. 마지막 다음버튼 클릭시 버튼을 비활성화 하기로
2. 마지막 버튼을 누름과 동시에 cnt+1을 해버리니 원래 마지막 cnt값으로 돌려놓기 위해 cnt-1
1
2
3
4
5
6
7
8
9
10
11
12
|
$("#nextDetailView").click(function() {
cnt = cnt + 1;
console.log("nextDetailView - 다음");
console.log("cnt: "+cnt+", selCount: "+selCount);
if (cnt < selCount) {
reNextDetailView(list, modalTitle, cnt, selCount);
} else {
$("#nextDetailView").attr("disabled","disabled");
cnt=cnt-1; // 마지막 다음 버튼을 누른 후 이미 위에서 +1을 해준상태니까 -1을 해줘서 원래 맞는 cnt값으로 돌려줌
alert("선택하신 데이터에 마지막입니다.");
}
});
|
cs |
마지막 다음버튼 클릭시 알럿창 발생
알럿창 발생 후 버튼 비활성화
'개발 > 에러+참고' 카테고리의 다른 글
이클립스 톰캣 Could not publish to the server. java.lang.IndexOutOfBoundsException 에서 (0) | 2017.06.23 |
---|---|
daterangepicker.js 사용시 moment is not defined 에러발생 (0) | 2016.12.27 |
댓글