'구 MiniHomepy'에 해당되는 글 109건
2009. 5. 26. 17:25
daygap=2000; // 설정된 일자 차이
now=newday=new Date(); // 현재시간 가져오기
newDay.setDate(now.getDate()+daygap); // 현재 일자에서 날짜를 가져다 간격일수 만큼 더해서 새로운 일자에 넣음
newyy=newDay.getYear(); // 새로운 일자에서 년도 가져오기
newmm=newDay.getMonth()+1; // 새로운 일자에서 월 가져오기 (+1)
newdd=newDay.getDate();// 새로운 일자에서 날짜 가져오기
##### 응용버젼 #########
//yyyy , mm, dd 로 분리
dt = document.getElementById("ctl00_ContentPlaceHolder1_txt_StartDT_Real").value.split('-');
daygap=StudyDay; // 설정된 일자 차이
var now = new Date(dt[0], dt[1] -1, dt[2]);
var newDay = new Date(); // 현재시간 가져오기기
newDay.setDate(now.getDate()+daygap); // 현재 일자에서 날짜를 가져다 간격일수 만큼 더해서 새로운 일자에 넣음
newyy=newDay.getYear(); // 새로운 일자에서 년도 가져오기
newmm=newDay.getMonth()+1; // 새로운 일자에서 월 가져오기 (+1)
newdd=newDay.getDate();// 새로운 일자에서 날짜 가져오기
//앞에 0을 붙이기위해서
if ( newmm < 10)
newmm = "0" + newmm;
if ( newdd < 10)
newdd = "0" + newdd;
//alert(newyy);
//alert(newmm);
//alert(newdd);
document.getElementById("ctl00_ContentPlaceHolder1_L_EndDT").innerHTML = newyy +"-"+ newmm +"-"+ newdd;
'구 MiniHomepy > Experience' 카테고리의 다른 글
신뢰할 수 있는 사이트 등록 (0) | 2009.05.26 |
---|---|
[javascript] 날짜관련 (0) | 2009.05.26 |
[javascript] 새창으로 접근할수 있는 스크립트 (0) | 2009.05.26 |
2009. 5. 26. 17:24
SCRIPT LANGUAGE=\"JavaScript\";
!--
function addDay(yyyy, mm, dd, pDay) {
var oDate; // 리턴할 날짜 객체 선언
dd = dd*1 + pDay*1; // 날짜 계산
mm--; // 월은 0~11 이므로 하나 빼준다
oDate = new Date(yyyy, mm, dd) // 계산된 날짜 객체 생성 (객체에서 자동 계산)
return oDate;
}
function addMonth(yyyy, mm, dd, pMonth) {
var cDate; // 계산에 사용할 날짜 객체 선언
var oDate; // 리턴할 날짜 객체 선언
var cYear, cMonth, cDay // 계산된 날짜값이 할당될 변수
mm = mm*1 + ((pMonth*1)-1); // 월은 0~11 이므로 하나 빼준다
cDate = new Date(yyyy, mm, dd) // 계산된 날짜 객체 생성 (객체에서 자동 계산)
cYear = cDate.getFullYear(); // 계산된 년도 할당
cMonth = cDate.getMonth(); // 계산된 월 할당
cDay = cDate.getDate(); // 계산된 일자 할당
oDate = (dd == cDay) ? cDate : new Date(cYear, cMonth, 0); // 넘어간 월의 첫쨋날 에서 하루를 뺀 날짜 객체를 생성한다.
return oDate;
}
function calcDate(f) {
var cDate;
var y,m,d,i;
var frm = document.form1;
y = frm.yyyy.value;
m = frm.mm.value;
d = frm.dd.value;
i = frm.i.value;
if(f == 1 ) {
cDate = addDay(y, m, d, i)
} else {
cDate = addMonth(y, m, d, i)
}
frm.y.value = cDate.getFullYear();
frm.m.value = cDate.getMonth()+1;
frm.d.value = cDate.getDate();
}
//--;
/SCRIPT;
/head;
body;
form method=\"post\" name=\"form1\";
INPUT TYPE=\"text\" NAME=\"yyyy\" size=4 value=\"1999\";년
INPUT TYPE=\"text\" NAME=\"mm\" size=2 value=\"12\";월
INPUT TYPE=\"text\" NAME=\"dd\" size=2 value=\"31\";일
BR;
INPUT TYPE=\"text\" NAME=\"i\" size=2 value=\"2\";++BR;
input type=\"button\" onclick=\"calcDate(1)\" value=\"날짜 더하기\";
input type=\"button\" onclick=\"calcDate(0)\" value=\"월 더하기\";BR;
hr;
INPUT TYPE=\"text\" NAME=\"y\" size=4;년
INPUT TYPE=\"text\" NAME=\"m\" size=2;월
INPUT TYPE=\"text\" NAME=\"d\" size=2;일
/form;
/body;
/html;
'구 MiniHomepy > Experience' 카테고리의 다른 글
[javascript] 날짜 더하기 (0) | 2009.05.26 |
---|---|
[javascript] 새창으로 접근할수 있는 스크립트 (0) | 2009.05.26 |
달력 (스켸쥴) ver 1.1 (0) | 2009.05.26 |
2009. 5. 26. 17:23
스크립트에 관련된 내용이지만 잦은 질문이고, 응용할수 있는 것이라서 정리하여 강좌에 올립니다.
* 새창을 제어하자.
1. 새창의 참조저장
현재창에서 a target=...또는 open(...)메소드로 새창을 띄울수 있습니다.
이 새창에서 opener 속성으로 현재창을 제어할수 있습니다.
하지만 반대로 현재창에서 새창을 제어하는 방법에서는 기본개체나 속성이 정의가 되어있지 않습니다.
왜냐하면 만들어지지 않는 새창을 참조할수 없기 때문입니다.
그래서 새창을 띄울때 그것의 참조를 현재창에 속성으로 저장하는것입니다.
새창의 참조는 open메소드의 리턴값이므로 현재창의 속성을 먼저 선언합니다.
var childwin; // 현재창(window개체)의 속성 선언
다음 속성에 새창의 참조를 저장합니다.
childwin = open('문서파일', '창이름', '창특성'); // 창이름은 의 target속성값과 같음
이렇게 하고 나면 childwin을 통해서 새창을 제어할수 있게 되는것입니다.
2. 새창의 중복로딩 방지
자세히 설명드리자면 이미 새창이 떠있을때 다시 띄우면 새창의 내용이 재로딩되므로 이 재로딩을 방지하고자 하는것입니다.
현재창에서 childwin 속성을 선언하고 새창 띄우는 코드를 함수로 정의합니다.
function openwin()
{
if ( childwin )
// 새창이 띄워져 있을때
childwin.focus();
else
// 새창이 띄워져 있지 않을때
childwin = open('문서파일', '창이름', '창특성');
}
당연히 처음에는 childwin의 값인 새창의 참조가 저장되어 있지 않으므로 else 이후의 문장을 실행합니다.
창이 띄워진뒤로 childwin은 새창의 참조를 저장하게 되므로 현재창에서 새창을 제어할수 있습니다.
3. 새창을 닫을 경우
새창을 닫는다면 현재창에 있는 childwin의 값을 null로 해야 합니다. 만약 그렇지 않을때 다시 새창을 띄우게 된다면
childwin.focus() 에서 새창을 찾을수 없다는 오류를 내게 됩니다.
그래서 새창에도 창을 닫을때 실행되는 코드를 정의 해야합니다.
창을 닫을때 onbeforeunload, onunload 순서로 이벤트가 발생합니다.
새창에 코딩할 함수입니다.
function closewin()
{
// opener는 현재창의 참조
if ( opener != null ) { opener.childwin = null; self.close(); }
}
opener가 null이 아니면 현재창이 있다는 조건이므로 opener.childwin 이 바로 현재창의 childwin입니다.
이 값을 null로 하여 새창이 닫혔다는 상태를 기억시킵니다.
onbeforeunload와 onload 이벤트는 페이지가 리프레시되거나 다른페이지로 이동할때도 발생하므로
body onbeforeunload="closewin()" 또는 body onunload="closewin()" 으로 하시면 됩니다.
4. 현재창을 닫을 경우
새창이 띄워졌을때 현재창을 닫으면 새창도 닫히게 하려고 합니다.
이전에 창이 닫힐때 발생하는 이벤트가 onbeforeunload, onunload 순서로 일어난다고 하였습니다.
현재창에 코딩할 함수입니다.
function closewin()
{
if ( childwin ) { childwin.opener = null; childwin.close(); }
}
새창이 존재한다면 새창에 있는 opener를 null로 합니다. 그것은 바로 현재창의 참조이기 때문에 닫혔다고 초기화하는 것입니다.
그리고 새창을 닫기 위해서 childwin.close() 를 호출합니다.
5. 새창의 개체에 접근
childwin이 새창의 참조이므로 새창에 있는 개체의 이름은 id=... 의 값입니다.
그래서 childwin.개체이름 또는 childwin.document.all.개체이름으로 접근할수 있습니다.
새창의 이름은 childwin.name 으로 알수 있고, 새창에 정의된 함수의 실행은
childwin.함수이름() 으로 할수 있습니다.
도움되셨는지 모르겠습니다.
ASP.NET에서도 브라우저제어를 위해서는 스크립트가 필요하기 때문에 앞으로도 유용한 스크립트를 소개하겠습니다.
감사합니다.
=======================
데브피아에서 스크랩함.
'구 MiniHomepy > Experience' 카테고리의 다른 글
[javascript] 날짜관련 (0) | 2009.05.26 |
---|---|
달력 (스켸쥴) ver 1.1 (0) | 2009.05.26 |
[javascript] 포커스 주었다가 잃게하기 (0) | 2009.05.26 |
2009. 5. 26. 17:23
기존 달력 수정 (웹 vb.net 버젼임)
1. 나머지 빈칸에 다음달날짜 회색으로 보여줄것 아니면 해당 달 끝날까지로 하면 됨
2. 해당 달 끝날 이후 칸을 채우기 위한 소스
cs 에서 필요한 부분 쓸것.
'구 MiniHomepy > Experience' 카테고리의 다른 글
[javascript] 새창으로 접근할수 있는 스크립트 (0) | 2009.05.26 |
---|---|
[javascript] 포커스 주었다가 잃게하기 (0) | 2009.05.26 |
[javascript] 리스트박스 추가/삭제/중복체크 (0) | 2009.05.26 |
2009. 5. 26. 17:22
document.getElementById("txtALLOC_DT").focus();
document.getElementById("txtALLOC_DT").blur();
document.getElementById("txtALLOC_DT").blur();
'구 MiniHomepy > Experience' 카테고리의 다른 글
달력 (스켸쥴) ver 1.1 (0) | 2009.05.26 |
---|---|
[javascript] 리스트박스 추가/삭제/중복체크 (0) | 2009.05.26 |
[javascript] select box의 특정 index를 선택 (0) | 2009.05.26 |
2009. 5. 26. 17:22
function AddPatron(obj, alloc_seq, patron_nm, patron_no, note_seq)
{
if ( alloc_seq !="")
{
alert("해당 고객을 배차 정보에서 삭제를 하고 추가를 해야합니다.");
}
else
{
var cnt = 0;
// 중복 체크
for( i=0; i < document.getElementById("lbPatron").options.length; i++) {
if( Trim(patron_no) == Trim(PatronGetValue(i)))
{
cnt +=1;
}
}
//중복이 있으면
if ( cnt > 0)
{
alert("해당 고객이 이미 동행 고객에 포함되어 있습니다.");
}
else
{
document.getElementById("lbPatron").options.add(new Option(patron_nm +" [" +patron_no +"]",patron_no)); // Text, value
//hidden 에다 추가해줌. 웹컨트롤버튼 클릭시 값 사라지므로
document.getElementById("hdnPatronNo").value += patron_no + "|";
document.getElementById("hdnNoteSeq").value += note_seq + "|";
}
}
}
function PatronGetValue(idx) {
option = document.getElementById("lbPatron").options[idx];
values = option.value.split('|');
return values[0];
}
function DelPatron()
{
if ( document.getElementById("lbPatron").options.selectedIndex ==-1)
{
alert ( "삭제할 동행 고객을 선택하세요.");
document.getElementById("lbPatron").focus();
}
else
{
//hidden 에다 추가해줌. 웹컨트롤버튼 클릭시 값 사라지므로
document.getElementById("hdnPatronNo_Delete").value += document.getElementById("lbPatron").options[document.getElementById("lbPatron").options.selectedIndex].value + "|";
document.getElementById("lbPatron").options[document.getElementById("lbPatron").options.selectedIndex] = null;
}
}
{
if ( alloc_seq !="")
{
alert("해당 고객을 배차 정보에서 삭제를 하고 추가를 해야합니다.");
}
else
{
var cnt = 0;
// 중복 체크
for( i=0; i < document.getElementById("lbPatron").options.length; i++) {
if( Trim(patron_no) == Trim(PatronGetValue(i)))
{
cnt +=1;
}
}
//중복이 있으면
if ( cnt > 0)
{
alert("해당 고객이 이미 동행 고객에 포함되어 있습니다.");
}
else
{
document.getElementById("lbPatron").options.add(new Option(patron_nm +" [" +patron_no +"]",patron_no)); // Text, value
//hidden 에다 추가해줌. 웹컨트롤버튼 클릭시 값 사라지므로
document.getElementById("hdnPatronNo").value += patron_no + "|";
document.getElementById("hdnNoteSeq").value += note_seq + "|";
}
}
}
function PatronGetValue(idx) {
option = document.getElementById("lbPatron").options[idx];
values = option.value.split('|');
return values[0];
}
function DelPatron()
{
if ( document.getElementById("lbPatron").options.selectedIndex ==-1)
{
alert ( "삭제할 동행 고객을 선택하세요.");
document.getElementById("lbPatron").focus();
}
else
{
//hidden 에다 추가해줌. 웹컨트롤버튼 클릭시 값 사라지므로
document.getElementById("hdnPatronNo_Delete").value += document.getElementById("lbPatron").options[document.getElementById("lbPatron").options.selectedIndex].value + "|";
document.getElementById("lbPatron").options[document.getElementById("lbPatron").options.selectedIndex] = null;
}
}
'구 MiniHomepy > Experience' 카테고리의 다른 글
[javascript] 포커스 주었다가 잃게하기 (0) | 2009.05.26 |
---|---|
[javascript] select box의 특정 index를 선택 (0) | 2009.05.26 |
WSE 시간표시형식 세팅 (0) | 2009.05.26 |
2009. 5. 26. 17:22
select box의 특정 index를 선택하시려면
selectbox[0].selected = true;
selectbox[0].selected = true;
'구 MiniHomepy > Experience' 카테고리의 다른 글
[javascript] 리스트박스 추가/삭제/중복체크 (0) | 2009.05.26 |
---|---|
WSE 시간표시형식 세팅 (0) | 2009.05.26 |
웹페이지에서 비동기지원방법 (0) | 2009.05.26 |
2009. 5. 26. 17:21
Server와 Client의 국가설정을 서로 맞춰서 시간표시형식이 같아야 한다.
어떤 컴에서 이것때문에 설정은 서로 같은데 계속 에러 나서 몇시간 고생해서 알아내었음 ㅋ
'구 MiniHomepy > Experience' 카테고리의 다른 글
[javascript] select box의 특정 index를 선택 (0) | 2009.05.26 |
---|---|
웹페이지에서 비동기지원방법 (0) | 2009.05.26 |
웹서비스 IDE에서 웹참조않하고 동적으로 사용하기 (0) | 2009.05.26 |
2009. 5. 26. 17:21
에러메세지가
Asynchronous operations are not allowed in this context. Page starting an asynchronous operation has to have the Async attribute set to true and an asynchronous operation can only be started on a page prior to PreRenderComplete event.
이렇게 나올때
웹페이지 기본 설정은 비동기를 지원하지 않는다
해결책
@page 설정에서 Async="true" 를 추가한다
'구 MiniHomepy > Experience' 카테고리의 다른 글
WSE 시간표시형식 세팅 (0) | 2009.05.26 |
---|---|
웹서비스 IDE에서 웹참조않하고 동적으로 사용하기 (0) | 2009.05.26 |
Multiple File Upload With Progress Bar Using Flash and ASP.NET (0) | 2009.05.26 |
2009. 5. 26. 17:21
'구 MiniHomepy > Experience' 카테고리의 다른 글
웹페이지에서 비동기지원방법 (0) | 2009.05.26 |
---|---|
Multiple File Upload With Progress Bar Using Flash and ASP.NET (0) | 2009.05.26 |
내가 수정한 DB정보 페이지 (0) | 2009.05.26 |