체크박스를 이미지로...
링크
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>
댓글 2개
19년 전
^^
웹프로그래머
14년 전
좋은 소스네요
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 7830 | 9년 전 | 392 | ||
| 7829 |
|
9년 전 | 567 | |
| 7828 | 9년 전 | 501 | ||
| 7827 | 9년 전 | 384 | ||
| 7826 | 9년 전 | 400 | ||
| 7825 | 9년 전 | 444 | ||
| 7824 | 9년 전 | 426 | ||
| 7823 | 9년 전 | 336 | ||
| 7822 | 10년 전 | 331 | ||
| 7821 | 10년 전 | 279 | ||
| 7820 | 10년 전 | 329 | ||
| 7819 |
|
10년 전 | 731 | |
| 7818 | 10년 전 | 361 | ||
| 7817 | 10년 전 | 482 | ||
| 7816 | 10년 전 | 380 | ||
| 7815 | 10년 전 | 580 | ||
| 7814 | 10년 전 | 410 | ||
| 7813 | 10년 전 | 346 | ||
| 7812 | 10년 전 | 356 | ||
| 7811 | 10년 전 | 370 | ||
| 7810 | 10년 전 | 527 | ||
| 7809 | 10년 전 | 453 | ||
| 7808 | 10년 전 | 329 | ||
| 7807 | 10년 전 | 374 | ||
| 7806 |
프로그래머7
|
10년 전 | 1311 | |
| 7805 | 10년 전 | 1242 | ||
| 7804 |
zahir1312
|
10년 전 | 753 | |
| 7803 |
|
10년 전 | 1351 | |
| 7802 | 10년 전 | 431 | ||
| 7801 | 10년 전 | 840 | ||
| 7800 | 10년 전 | 1070 | ||
| 7799 | 10년 전 | 516 | ||
| 7798 | 10년 전 | 477 | ||
| 7797 | 10년 전 | 476 | ||
| 7796 | 10년 전 | 312 | ||
| 7795 | 10년 전 | 471 | ||
| 7794 | 10년 전 | 506 | ||
| 7793 | 10년 전 | 1021 | ||
| 7792 | 10년 전 | 423 | ||
| 7791 | 10년 전 | 516 | ||
| 7790 | 10년 전 | 472 | ||
| 7789 |
fbastore
|
10년 전 | 1413 | |
| 7788 | 10년 전 | 506 | ||
| 7787 | 10년 전 | 369 | ||
| 7786 | 10년 전 | 535 | ||
| 7785 | 10년 전 | 541 | ||
| 7784 | 10년 전 | 606 | ||
| 7783 | 10년 전 | 416 | ||
| 7782 | 10년 전 | 459 | ||
| 7781 | 10년 전 | 870 | ||
| 7780 | 10년 전 | 791 | ||
| 7779 | 10년 전 | 759 | ||
| 7778 | 10년 전 | 330 | ||
| 7777 | 10년 전 | 422 | ||
| 7776 | 10년 전 | 424 | ||
| 7775 | 10년 전 | 368 | ||
| 7774 | 10년 전 | 610 | ||
| 7773 | 10년 전 | 356 | ||
| 7772 | 10년 전 | 690 | ||
| 7771 | 10년 전 | 346 | ||
| 7770 | 10년 전 | 623 | ||
| 7769 | 10년 전 | 346 | ||
| 7768 | 10년 전 | 570 | ||
| 7767 | 10년 전 | 1135 | ||
| 7766 | 10년 전 | 461 | ||
| 7765 | 10년 전 | 489 | ||
| 7764 |
잘살아보자
|
10년 전 | 346 | |
| 7763 |
|
10년 전 | 1418 | |
| 7762 |
Tosea
|
10년 전 | 1029 | |
| 7761 | 10년 전 | 616 | ||
| 7760 |
잘살아보자
|
10년 전 | 638 | |
| 7759 |
잘살아보자
|
10년 전 | 465 | |
| 7758 |
잘살아보자
|
10년 전 | 557 | |
| 7757 | 10년 전 | 1205 | ||
| 7756 |
ITBANK
|
10년 전 | 1235 | |
| 7755 | 10년 전 | 1910 | ||
| 7754 | 10년 전 | 1026 | ||
| 7753 | 10년 전 | 853 | ||
| 7752 | 10년 전 | 1362 | ||
| 7751 |
잘살아보자
|
10년 전 | 491 | |
| 7750 |
잘살아보자
|
10년 전 | 449 | |
| 7749 |
잘살아보자
|
10년 전 | 453 | |
| 7748 |
잘살아보자
|
10년 전 | 444 | |
| 7747 |
잘살아보자
|
10년 전 | 544 | |
| 7746 |
잘살아보자
|
10년 전 | 656 | |
| 7745 |
잘살아보자
|
10년 전 | 893 | |
| 7744 |
잘살아보자
|
10년 전 | 399 | |
| 7743 | 10년 전 | 924 | ||
| 7742 |
starbros
|
10년 전 | 810 | |
| 7741 |
잘살아보자
|
10년 전 | 630 | |
| 7740 |
잘살아보자
|
10년 전 | 498 | |
| 7739 |
잘살아보자
|
10년 전 | 447 | |
| 7738 |
잘살아보자
|
10년 전 | 505 | |
| 7737 |
잘살아보자
|
10년 전 | 468 | |
| 7736 |
잘살아보자
|
10년 전 | 484 | |
| 7735 |
잘살아보자
|
10년 전 | 819 | |
| 7734 |
잘살아보자
|
10년 전 | 411 | |
| 7733 |
잘살아보자
|
10년 전 | 518 | |
| 7732 |
잘살아보자
|
10년 전 | 673 | |
| 7731 |
잘살아보자
|
10년 전 | 594 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기