자바 스크립트
날짜계산 date()사용하기.
자바스크립트에서 1월은 0으로
표현됨 12월은 11로 표현됨.
Var Today = new date(); //오늘의 날짜정보를 가져옴.
Var Today = new date(년,월,일);입력된 년 월일세팅된값으로
객체를 생성함.
Var year = Today. getFullYear();//객체에생선된
년도 정보를 가져옴.
Var month = Today.getMonth();//객체에 생선된
월의 정보를 가져옴…
Var day = Today.getDate();//객체에 생선된 일의
정보를 가져옴.
해당월의 마지막 일수 받아오기…
var endDayOfMay = new Date(년
,월(구하고자하는월)+1
,
0);
구하고자하는달의 다음달을 입력하고 일을 0으로 입력하면 1일의 바로전날은 그전달이 되므로 해달의 마지막일을 구해올수 있음.
요일정보 구하기 (일월화수목금토)순서임)
Today.getDay();;//요일의 정보를 0-6까지 나옴.
체크박스로 자바스크립트.
요일정보를 자동으로 입력 순서가 월화수목금토일이라서 소스가 이러함.
select_innerHTML 이건 인터넷 익스플로러 때문에 피요함
selected이건 아래소스규칙대로 해주어야 적용됨.
function fn_changeSelected(obj)
{
var
f = document.forms.form1;
var
cDate = new Date(document.getElementById("Onehope1").value
,
document.getElementById("Onehope2").value-1
,
document.getElementById("Onehope3").value);
var
tDate = new Date();
var
weekstr = new Array("월", "화", "수", "목", "금", "토","일");
var
week = cDate.getDay();
if(week>=1)
{
week=week-1;
}
else
{
week=6;
}
var
sYear=tDate.getFullYear()
var
eYear=sYear+1;
var
sMonth=1
var
eMonth=12
var
sDay=1
var
eDay=( new Date(
document.getElementById("Onehope1").value,document.getElementById("Onehope2").value,
0) ).getDate();
var
strYear="";
var
strMonth="";
var
strDay="";
var
strWeek="";
document.getElementById("Onehope1").value;
document.getElementById("Onehope2").value;
document.getElementById("Onehope3").value;
document.getElementById("Onehope4").value;
for(var
i=sYear; i<=eYear; i++)
{
strYear
+= "<option value=\""+ i+ "\"";
if(document.getElementById("Onehope1").value==i)
{
strYear
+= "selected=\"selected\" ";
}
strYear
+= ">"+ i+ "<\/option>";
}
for(var
i=sMonth; i<=eMonth; i++)
{
strMonth
+= "<option value=\""+ i+ "\"";
if(document.getElementById("Onehope2").value==i)
{
strMonth
+= "selected=\"selected\" ";
}
strMonth
+= ">"+ i+ "<\/option>";
}
for(var
i=sDay; i<=eDay; i++)
{
strDay
+= "<option value=\""+ i+ "\"";
if(document.getElementById("Onehope3").value==i)
{
strDay
+= "selected=\"selected\" ";
}
strDay
+= ">"+ i+ "<\/option>";
}
for(var
i=sDay; i<weekstr.length; i++)
{
strWeek
+= "<option value=\""+weekstr[i]+ "\"";
if(week==i)
{
strWeek
+= "selected=\"selected\" ";
}
strWeek
+= ">"+weekstr[i]+ "<\/option>";
}
select_innerHTML(document.getElementById("Onehope1"),strYear);
select_innerHTML(document.getElementById("Onehope2"),strMonth);
select_innerHTML(document.getElementById("Onehope3"),strDay);
select_innerHTML(document.getElementById("Onehope4"),strWeek);
}
function
select_innerHTML(objeto,innerHTML){
/******
*
select_innerHTML - corrige o bug do InnerHTML em selects no IE
*
Veja o problema em:
http://support.microsoft.com/default.aspx?scid=kb;en-us;276228
*
Versão: 2.1 - 04/09/2007
*
Autor: Micox - Náiron José C. Guimarães - micoxjcg@yahoo.com.br
*
@objeto(tipo HTMLobject): o select a ser alterado
*
@innerHTML(tipo string): o novo valor do innerHTML
*******/
objeto.innerHTML = ""
var selTemp =
document.createElement("micoxselect")
var opt;
selTemp.id="micoxselect1"
document.body.appendChild(selTemp)
selTemp =
document.getElementById("micoxselect1")
selTemp.style.display="none"
if(innerHTML.toLowerCase().indexOf("<option")<0){//se
não é option eu converto
innerHTML = "<option>"
+ innerHTML + "</option>"
}
innerHTML =
innerHTML.toLowerCase().replace(/<option/g,"<span").replace(/<\/option/g,"</span")
selTemp.innerHTML = innerHTML
for(var
i=0;i<selTemp.childNodes.length;i++){
var spantemp = selTemp.childNodes[i];
if(spantemp.tagName){
opt =
document.createElement("OPTION")
if(document.all){ //IE
objeto.add(opt)
}else{
objeto.appendChild(opt)
}
//getting attributes
for(var j=0; j<spantemp.attributes.length
; j++){
var attrName =
spantemp.attributes[j].nodeName;
var attrVal =
spantemp.attributes[j].nodeValue;
if(attrVal){
try{
opt.setAttribute(attrName,attrVal);
opt.setAttributeNode(spantemp.attributes[j].cloneNode(true));
}catch(e){}
}
}
//getting styles
if(spantemp.style){
for(var y in spantemp.style){
try{opt.style[y] =
spantemp.style[y];}catch(e){}
}
}
//value and text
opt.value =
spantemp.getAttribute("value")
opt.text = spantemp.innerHTML
//IE
opt.selected =
spantemp.getAttribute('selected');
opt.className = spantemp.className;
}
}
document.body.removeChild(selTemp)
selTemp = null
}