250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Python
- JDBC
- JavaScript
- Core Java
- STS
- Docker
- 설정
- oracle
- Source
- 문서
- Spring Boot
- MySQL
- AJAX
- Tomcat
- jpa
- PostgreSQL
- 오픈소스
- SpringBoot
- maven
- IntelliJ
- myBatis
- Exception
- git
- spring
- error
- Eclipse
- Open Source
- Thymeleaf
- ubuntu
- MSSQL
Archives
- Today
- Total
헤르메스 LIFE
[jQuery] 클립보드 복사 & 붙여넣기 본문
728x90
엑셀에서 데이터 Row를 복사해서 붙여넣기
각 데이터는 공백으로 구분지어서 붙여넣어지면 됩니다.
여러건을 IN 절로 조회하는 것이 목적입니다.
Chrome 은 굳이 이렇게 하지 않아도 됩니다.
문제는 IE 입니다. ( IE는 현재 서비스가 중단됐지만... 실제 사용하는 곳은 아직도 많습니다. ㅠ.ㅠ )
BrowserVersionCheck = function() {
var boolean = false;
var ieName = navigator.appName;
var agent = navigator.userAgent.toLowerCase();
/*** 1. IE 버전 체크 ***/
// IE old version ( IE 10 or Lower )
if ( ieName == "Microsoft Internet Explorer" ){
boolean = true;
} else { // IE 11 // 만약 IE11 에서 window.clipboardData.setData가 작동 한다면 true // 작동 하지 않으면 false를 return 하여 준다.
if( agent.search("trident") > -1 ){
boolean = true;
} // IE 12 ( Microsoft Edge )
else if( agent.search("edge/") > -1 ){
boolean = false;
}
}
// 이외 브라우저에서는 어차피 작동 하지 않으니 기본값인 false 리턴
return boolean;
};
document.getElementById("srchTextCd").addEventListener('paste', function(e) {
var pastedText = undefined;
if (window.clipboardData && window.clipboardData.getData) { // IE
pastedText = window.clipboardData.getData('Text');
} else {
if (!e) e = event;
if (!e) return null;
if (e.clipboardData && e.clipboardData.getData) {
pastedText = e.clipboardData.getData('text/plain');
} else if(e.originalEvent && e.originalEvent.clipboardData) {
pastedText = e.originalEvent.clipboardData.getData('text/plain');
}
pastedText = pastedText.replace(/\r\n|\r|\n/gi," ");
if(BrowserVersionCheck){ {
$("#srchTextCd").val(pastedText)
} else {
return pastedText;
}
});
List<String> srchTextCdList = new ArrayList<>();
String[] srchTempTextCd = param.getString( "srchTextCd" ).trim().split( " " );
for ( int i = 0; i < srchTempTextCd.length; i++ ) {
logger.debug( "srchTempTextCd :: {}", srchTempTextCd[i] );
if ( srchTempProdCd[i].length() > 0 ) {
srchTextCdList.add( srchTempTextCd[i] );
}
}
param.put( "srchTextCd", param.getString( "srchTextCd" ).trim() );
param.put( "srchTextCdList", srchTextCdList );
logger.debug( "param :: {}", param );
MyBatis 적용
<choose>
<when test="srchTextCdList.size > 0">
<choose>
<when test="srchTextCdList.size == 1">
AND A.TEXT_CD LIKE '%' + #{srchTextCd} + '%'
</when>
</choose>
<choose>
<when test="srchTextCdList.size > 1">
AND A.TEXT_CD IN
<foreach item="item" index="i" collection="srchTextCdList" open="(" separator="," close=")">
#{item}
</foreach>
</when>
</choose>
</when>
</choose>
728x90
'JSP&JavaScript&HTML' 카테고리의 다른 글
[Modal] Javascript, jQuery 기반의 Open Source Modal Plugin (0) | 2023.05.06 |
---|---|
[Source] JDBC Connection Test && JDBC Version 확인 (0) | 2022.08.16 |
[JSON] 문자열을 JSON 변환, JSON 을 문자열 변환 (0) | 2021.01.26 |
오른쪽 마우스 금지 (0) | 2020.12.17 |
[Javascript] Select box Control 제어 (0) | 2020.12.02 |