http://cafe.naver.com/8266.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=340&

웹투존(webtozon)


<input name="startday" type="text" value="" onclick="Calendar(document.all.startday, document.all.endday);" readonly="readOnly" />

 

짠~~ 시작 ,,, --;; 뭐지 "X  개체가 필요합니다. ooo.js, 줄 453 문자2"

 

간만에 켈린더를 붙이는데  계속 오류가 나더만, 한참 여기저기 디져서 나온건 DOCTYPE 부분에 DTD 부분 삭제해보란다.

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>

...

이미 DocType를 선언하고 작업을 한경우 참 난감하다.

해서 여러 소스를 끄적거린 가운데  방법을 찾았다.

 

--------에러난 소스 시작----------------

var target1, target2;
var pop_top;
var pop_left;

 

function Calendar(obj, obj2) {
 var now = obj.value.split("-");
 var now2 = obj2.value.split("-");

 

 target1 = obj;
 target2 = obj2;

 

pop_top = document.body.clientTop + GetObjectTop(obj) - document.body.scrollTop;
pop_left = document.body.clientLeft + GetObjectLeft(obj) -  document.body.scrollLeft;

...

...

var calHeight = 220;
oPopup.show(pop_left, (pop_top + target1.offsetHeight), 290, calHeight, document.body);

 

 

function GetObjectTop(obj)
{
 if (obj.offsetParent == document.body)
  return obj.offsetTop;
 else
  return obj.offsetTop + GetObjectTop(obj.offsetParent);
}

function GetObjectLeft(obj)
{
 
 if (obj.offsetParent == document.body)
  return obj.offsetLeft;
 else
  return obj.offsetLeft + GetObjectLeft(obj.offsetParent);
}

--------에러난 소스 끝----------------

 

-------- 개선한 소스 시작 ---------------

var target1, target2;
var pop_top;
var pop_left;

var srcElement=null;

 

function Calendar(obj, obj2) {
 var now = obj.value.split("-");
 var now2 = obj2.value.split("-");

 

 target1 = obj;
 target2 = obj2;

 

//pop_top = document.body.clientTop + GetObjectTop(obj) - document.body.scrollTop;
//pop_left = document.body.clientLeft + GetObjectLeft(obj) -  document.body.scrollLeft;

srcElement=window.event.srcElement;

...

...

var calHeight = 220;
//oPopup.show(pop_left, (pop_top + target1.offsetHeight), 290, calHeight, document.body);

oPopup.show(0, srcElement.offsetHeight, 290, calHeight, srcElement);

 

-------- 개선한 소스 끝 ---------------

+ Recent posts