링크
http://myownstyle.com/examples/image_checkbox.php (389) http://myownstyle.com/examples/image_checkbox.php?test=1 (345)
집크기 늘이고 줄이기에 이어 체크박스를 이미지로 구현해 봤습니다. 역시나 허접소스입니다. 헤헤..
파이어폭스랑 익스에서 다 잘됩니다.
function get_imgDir(imgID) { // 이미지의 src 값으로 이미지의 경로를 구하는 함수입니다.
var imgObj = document.getElementById(imgID);
var imgSrc = imgObj.getAttribute('src').split('/'); //객체의 src를 "/" 단위로 쪼개서 배열로 만듭니다.
var imgDir = '';
var i;
var j = parseInt(imgSrc.length) - 1;
for(i=0; i<j; i++) {
imgDir += imgSrc[i] + '/'; // 파일명에 해당하는 부분을 제외한 나머지를 합칩니다. 예를 들어 <img src='http://domain.com/dir/images/sample.gif ....> 인 경우 http://domain.com/dir/images/ 까지 구해옵니다. 그러므로 체크, 언체크 이미지는 같은 디렉토리에 있어야합니다.
}
return imgDir;
}
function imgCheckBox(inputName) { // 이미지 클릭시 input 객체의 값을 바꾸는 함수입니다.
var imgID = inputName + "_img";
var inputObj = document.getElementsByName(inputName)[0];
var imgObj = document.getElementById(imgID);
var imgDir = get_imgDir(imgID);
if(inputObj.getAttribute('value') == '') {
imgObj.setAttribute('src', imgDir + 'checkbox_true.gif');
inputObj.setAttribute('value',1);
inputObj.checked = true;
} else {
imgObj.setAttribute('src', imgDir + 'checkbox_false.gif');
inputObj.setAttribute('value','');
inputObj.checked = false;
}
}
function get_imgCheckBox(inputName) { // 이미지 체크박스의 초기 이미지를 결정하는 함수입니다.
var imgID = inputName + "_img";
var inputObj = document.getElementsByName(inputName)[0];
var imgObj = document.getElementById(imgID);
var imgDir = get_imgDir(imgID);
imgObj.style.cursor ='pointer'; // 이미지에 커서를 올리면 손가락 모양으로 바뀌는 속성을 부여합니다. hand는 익스 전용이므로 pointer를 씁시다^^
if(inputObj.getAttribute('value') == '1') {
imgObj.setAttribute('src', imgDir + 'checkbox_true.gif');
inputObj.checked = true;
} else {
imgObj.setAttribute('src', imgDir + 'checkbox_false.gif');
inputObj.checked = false;
}
}
사용하는 방법은 다음과 같습니다.
<input type=hidden name=test value='<?=$test?>'>체크박스 테스트
<!-- 기존의 체크박스 객체의 타입을 히든으로 바꾸어줍니다. -->
<img src='http://kuremix.com/test/checkbox_false.gif' id=test_img onClick="imgCheckBox('test')">
<!-- 이미지 객체의 id 값은 해당 input 객체의 name 값에 _img 를 붙여줍니다. -->
<!-- imgCheckBox('test')의 test는 input 객체의 name 값입니다. -->
그리고 해당 페이지 제일 하단에 다음의 스크립트를 넣어줍니다.
<script language=javascript>
get_imgCheckBox('test'); // 해당 input 객체의 value값을 체크해서 값이 1이면 체크표시된 이미지를. 빈 값이면 언체크된 이미지를 뿌려줍니다.
</script>
위 자바스크립트 함수에서 inputObj.checked = false; 와 inputObj.checked = true; 는 링크된 사용예제에서 실제 체크박스와 이미지체크박스의 동작상태를 확인하기 위해서 넣어둔 것입니다. 사용하실 때에는 지우시거나 주석처리하시면 됩니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]</div>
파이어폭스랑 익스에서 다 잘됩니다.
function get_imgDir(imgID) { // 이미지의 src 값으로 이미지의 경로를 구하는 함수입니다.
var imgObj = document.getElementById(imgID);
var imgSrc = imgObj.getAttribute('src').split('/'); //객체의 src를 "/" 단위로 쪼개서 배열로 만듭니다.
var imgDir = '';
var i;
var j = parseInt(imgSrc.length) - 1;
for(i=0; i<j; i++) {
imgDir += imgSrc[i] + '/'; // 파일명에 해당하는 부분을 제외한 나머지를 합칩니다. 예를 들어 <img src='http://domain.com/dir/images/sample.gif ....> 인 경우 http://domain.com/dir/images/ 까지 구해옵니다. 그러므로 체크, 언체크 이미지는 같은 디렉토리에 있어야합니다.
}
return imgDir;
}
function imgCheckBox(inputName) { // 이미지 클릭시 input 객체의 값을 바꾸는 함수입니다.
var imgID = inputName + "_img";
var inputObj = document.getElementsByName(inputName)[0];
var imgObj = document.getElementById(imgID);
var imgDir = get_imgDir(imgID);
if(inputObj.getAttribute('value') == '') {
imgObj.setAttribute('src', imgDir + 'checkbox_true.gif');
inputObj.setAttribute('value',1);
inputObj.checked = true;
} else {
imgObj.setAttribute('src', imgDir + 'checkbox_false.gif');
inputObj.setAttribute('value','');
inputObj.checked = false;
}
}
function get_imgCheckBox(inputName) { // 이미지 체크박스의 초기 이미지를 결정하는 함수입니다.
var imgID = inputName + "_img";
var inputObj = document.getElementsByName(inputName)[0];
var imgObj = document.getElementById(imgID);
var imgDir = get_imgDir(imgID);
imgObj.style.cursor ='pointer'; // 이미지에 커서를 올리면 손가락 모양으로 바뀌는 속성을 부여합니다. hand는 익스 전용이므로 pointer를 씁시다^^
if(inputObj.getAttribute('value') == '1') {
imgObj.setAttribute('src', imgDir + 'checkbox_true.gif');
inputObj.checked = true;
} else {
imgObj.setAttribute('src', imgDir + 'checkbox_false.gif');
inputObj.checked = false;
}
}
사용하는 방법은 다음과 같습니다.
<input type=hidden name=test value='<?=$test?>'>체크박스 테스트
<!-- 기존의 체크박스 객체의 타입을 히든으로 바꾸어줍니다. -->
<img src='http://kuremix.com/test/checkbox_false.gif' id=test_img onClick="imgCheckBox('test')">
<!-- 이미지 객체의 id 값은 해당 input 객체의 name 값에 _img 를 붙여줍니다. -->
<!-- imgCheckBox('test')의 test는 input 객체의 name 값입니다. -->
그리고 해당 페이지 제일 하단에 다음의 스크립트를 넣어줍니다.
<script language=javascript>
get_imgCheckBox('test'); // 해당 input 객체의 value값을 체크해서 값이 1이면 체크표시된 이미지를. 빈 값이면 언체크된 이미지를 뿌려줍니다.
</script>
위 자바스크립트 함수에서 inputObj.checked = false; 와 inputObj.checked = true; 는 링크된 사용예제에서 실제 체크박스와 이미지체크박스의 동작상태를 확인하기 위해서 넣어둔 것입니다. 사용하실 때에는 지우시거나 주석처리하시면 됩니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]</div>
게시글 목록
| 번호 | 제목 |
|---|---|
| 8624 |
기타
소유권변경
|
| 8623 | |
| 8617 | |
| 8615 | |
| 28464 | |
| 8613 | |
| 8612 | |
| 8611 |
JavaScript
vim 의 들여쓰기 + 색상 눈 덜피곤 c++ php 등.. (리눅스용)
|
| 8610 |
JavaScript
vim 의 간단한 사용법
|
| 8609 |
JavaScript
[자바스크립트] 상태표시줄 제어 + 간단한 복사 제어
|
| 8606 |
Linux
/etc 디렉토리 아래의 파일들
2
|
| 8605 |
기타
shadow 잠금 해제
|
| 8604 | |
| 8603 |
JavaScript
yum 업데이트 되는곳 7.3 or 페도라
|
| 8602 |
MySQL
mysql 링크하기
|
| 8601 | |
| 8600 |
MySQL
mysql.sock 삭제 하였을 경우
|
| 8599 | |
| 8598 | |
| 8597 |
JavaScript
ps 시 화면 짤리는부분 보이게 하기
|
| 8596 | |
| 8595 | |
| 8594 |
기타
chmod 의 스틱키
|
| 8593 |
JavaScript
tripwire 의 twr 파일 보기
|
| 8592 |
JavaScript
최근 사용자 접속 리스트 보기
|
| 8591 | |
| 8590 | |
| 8589 |
JavaScript
atd 데몬
|
| 28463 | |
| 8588 |
JavaScript
portmap
|
| 8587 | |
| 8586 | |
| 8585 |
JavaScript
md5sum 사용방법
|
| 8584 |
JavaScript
TAR 압축방법
|
| 8583 | |
| 8581 | |
| 8580 |
기타
crontab 사용하기
|
| 8579 |
JavaScript
umask 설정법
|
| 8578 | |
| 8577 |
기타
Find 명령어 활용
|
| 8576 |
기타
zip 압축 해제
|
| 8575 |
JavaScript
삼바(samba)에서 내부만 들어오게 하기
|
| 8574 | |
| 8572 | |
| 8571 |
JavaScript
quota 젠체 용량 확인
|
| 8570 | |
| 8569 | |
| 8568 |
JavaScript
런레벨 편집
|
| 8567 |
기타
리눅스에서 문자찾기
|
| 8566 | |
| 8565 |
JavaScript
삼바로 리눅스에서 윈도우로 공유하기
|
| 8564 |
JavaScript
shadow 패스워드 잠금 해제 하기
|
| 8563 | |
| 8562 | |
| 8561 |
JavaScript
vim에서 컬러는 나오게 하기
|
| 8560 | |
| 8558 | |
| 8557 |
MySQL
my.cnf 파일은 어디에?
|
| 8556 | |
| 8555 |
MySQL
cron 설정
|
| 8554 |
JavaScript
호스트네임 바꾸기
|
| 8553 |
JavaScript
하드링크와 심볼릭링크?
|
| 28462 |
HTML
콘솔의 화면보호기능을 끄려면?
|
| 8552 |
기타
스틱키
|
| 8551 |
JavaScript
날짜 바꾸기 date 명령을 이용
|
| 28461 |
HTML
스왑 사용 안하기
|
| 8549 | |
| 8548 |
기타
SSH
|
| 8547 |
JavaScript
rsync 백업
|
| 8545 |
JavaScript
저 사양 PC로 리눅스 라우터 만들기
1
|
| 8544 |
Linux
Tripwire
|
| 8543 | |
| 8542 | |
| 8541 | |
| 8540 |
JavaScript
링크 시킨 파일 찾기
|
| 8539 |
JavaScript
리눅스 하드웨어 정보 보기
|
| 8538 | |
| 8537 | |
| 8536 |
MySQL
my.cnf 파일은 위치..
|
| 8535 |
MySQL
부팅시 자동으로 mysql 서버 자동실행
|
| 8533 |
MySQL
MySQL 루트비번 분실시 대처요령
1
|
| 8532 |
MySQL
mysql에서 log 파일 남기기
|
| 8531 |
MySQL
ALTER 테이블 추가,변경
|
| 8530 |
MySQL
sql 파일로 테이블 간단히 만들기
|
| 8529 |
MySQL
mysql 4.1 의 password()
|
| 8528 |
MySQL
mysql 에서 최대 사용자 수
|
| 8525 | |
| 8524 | |
| 8523 |
기타
핑(ping) 막기
|
| 8522 | |
| 8521 |
JavaScript
su 사용자 제한하기
|
| 8520 | |
| 8519 |
JavaScript
기본적인 삼바 설정
|
| 8518 |
기타
실시간 로그 보기..
|
| 8517 | |
| 8516 |
JavaScript
부팅 로고 삭제
|
| 8515 |
JavaScript
콘솔에서 해상도 높이기
|
| 8514 | |
| 8513 | |
| 8512 |
JavaScript
ssh로 접속할때 메시지를 보여주는 방법..
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기