반응형

AJAX에서 받은 한글 텍스트가 깨져서 ???로 나옴 

return한 값은

"로그인 성공" 이라는 텍스트 

캐릭터셋과 페이지 인코딩 모두 utp-8

 

Controller 메서드 @RequestMapping란에

produces = "application/text; charset=UTF-8"

 

를 추가해주면 된다. 

반응형
반응형

 

* checkbox 요건

- [전체선택] 클릭 시 하위 checkbox 모두 체크
- [전체선택] 클릭 시 하위 checkbox 모두 체크 해제
- 하위 checkbox 모두 체크 시 [전체선택] 체크
- 하위 checkbox 하나라도 뺄 시 [전체선택] 체크해제

전체선택

 

checkbox HTML

<table>
  <tr style="background:grey">
    <td>
      <input type="checkbox" id="checkAll" onclick="checkAllClick()"> 전체선택 
    </td>
  </tr>
  <tr>
    <td>
      <input type="checkbox" name="checkedIdx" class="checktype" value="1" onclick="checkBoxValueChanged()">
    </td>
  </tr>
  <tr>
    <td>
      <input type="checkbox" name="checkedIdx" class="checktype" value="2" onclick="checkBoxValueChanged()">
    </td>
  </tr>
  <tr>
    <td>
      <input type="checkbox" name="checkedIdx" class="checktype" value="3" onclick="checkBoxValueChanged()">
    </td>
  </tr>
  <tr>
    <td>
      <input type="checkbox" name="checkedIdx" class="checktype" value="4" onclick="checkBoxValueChanged()">
    </td>
  </tr>
</table>

 

 Javascript 로 checkbox 이벤트 만들기

const checkBoxes = document.getElementsByName('checkedIdx');

//[전체선택] 클릭 시 하위 checkbox 모두 체크 또는 체크 해제
function checkAllClick(){
  if(document.getElementById('checkAll').checked){
    for(var i=0;i<checkBoxes.length;i++){
      checkBoxes[i].checked = true;
    }
  }else{
    for(var i=0;i<checkBoxes.length;i++){
      checkBoxes[i].checked = false;
    }
  }
}

//하위 checkbox 체크 여부에 따른 [전체선택] checkbox 체크 변경
function checkBoxValueChanged(){
  var checkedCnt = 0;
  for(let i=0; i<checkBoxes.length;i++){
    if(checkBoxes[i].checked){
      checkedCnt ++;
    }
  }
  if(checkedCnt == checkBoxes.length){
    document.getElementById('checkAll').checked = true;
  }else{
    document.getElementById('checkAll').checked = false;
  }
}

 

jquery로 checkbox 이벤트 만들기

//[전체선택] 클릭 시 하위 checkbox 모두 체크 또는 체크 해제
$('#checkAll').click(function(){ 
    if($('#checkAll').is(':checked')){ 
        $('.checktype').prop("checked",true); 
    }else{ 
        $('.checktype').prop("checked",false); 
    } 

});


//하위 checkbox 체크 여부에 따른 [전체선택] checkbox 체크 변경
$('.checktype').click(function(){ 
   if($('input[class=checktype]:checked').length == $('input[class=checktype]').length){ 
       $('#checkAll').prop("checked",true); 
    }else{ 
       $('#checkAll').prop("checked",false); 
    } 
});

 

반응형
반응형

java.lang.IllegalStateException : Optional int parameter is present but cannot be translated into a null value due to being declared as a primitive type. Consider declaring it as object wrapper for the corresponding primitive type.

 

 

ajax 사용 시 data 타입을 이상하게 넣어서 그렇슴

ajax data 부분엔 스트링이나 맵 형식으로 들어가면 되는데 이상하게 넣어서 그랬음

 

data에 16이라는 데이터를 넣었는데 Controller에서 받지 못함. 

Controller에서 boardNum을 확인해보면 0이 나온다.

ajax data를 잘못넣음.

 

 

형식으로 넘기니 잘 넘어간다.~~ 

 

콤마가 있어야함..

{데이터 이름 : '값', 데이터 이름 : '값' }

반응형
반응형

행 추가시 DOM객체 선택을 위한 ID는 tbody에 줬음

버튼에 함수를 걸어서 버튼을 누르면 행이 추가되게 함

 

행 추가 : insertRow(추가할 행 index);

열 추가 : insertCell

innerHTML로 행에 내용 추가.

 

 

행 추가시 열 (td)에 스타일 주기 cell이름.style.cssText="내용"

 

또다른 방법

append를 이용해서 table tr태그를 생성해서 갖다 붙인다. 

var tag="<tr class=" + "\"quali_name\"" + "><td><input type='text'></td><td><input type='date'></td></tr>";
 $('#qualifi_table').append(tag);

 

 

행 지우기 : deleteRow

 

간편하게 클릭한 행 지우기(remove 이용)

지우기 버튼을 클릭하면 Type과 Title, Comment 행을 지우는 코드 

버튼에 deleteRow 함수를 걸고 this를 인자로 넘긴ㄷ.

prev()를 이용해서 comment 행 이전행들을 지우고 나서 comment 행을 지운다.

this가 있는 행을 먼저 지우면 prev가 작동이 안 되니 주의 

반응형
반응형

이런 경우 JSP내에서는 "선택없음"값이 있지만 Controller로 전달되지 않고 null이 됨.

(다른 type은 모두 공백이 전달된다. date 포함)

그래서 disabled 옵션을 제거하려고 했는데 jQuery가 안 먹는거.

jquery 경로 때문이었음. 진짜 빡쳐

1.  경로명은 /프로젝트명/resources/어쩌구저쩌구 하면 됨.

2. form submit 전에 disabled 속성을 제거해주면 전달이 잘 된다.

$('select > option:disabled').attr("disabled",false);
$('select > option:disabled').removeAttr("disabled")

반응형

+ Recent posts