webForumDet fria alternativet

Odefinierad... Vad är felet?

2 svar · 186 visningar · startad av learn

learnMedlem sedan jan. 20051 130 inlägg
#1

Får detta felmeddelande:

'dateSelect' är odefinierad

Vad är felet i koden:

<script type="text/javascript">
var dateSelect={
	yearFieldName:"eventyear",
	monthFieldName:"eventmonth",
	dateFieldName:"eventday",
	yearFieldName2:"remindyear",
	monthFieldName2:"remindmonth",
	dateFieldName2:"remindday",
	date:new Date(),
	updateDate:function(obj){
		obj[this.dateFieldName].length=0;
		for(var i=1;i<=new Date(obj[this.yearFieldName][obj[this.yearFieldName].selectedIndex].value,obj[this.monthFieldName].selectedIndex+1,0).getDate();i++){
			obj[this.dateFieldName][i-1]=new Option(((i<10)?"0":"")+i,((i<10)?"0":"")+i);
		},
			updateDate2:function(obj){
		obj[this.dateFieldName2].length=0;
		for(var i=1;i<=new Date(obj[this.yearFieldName2][obj[this.yearFieldName2].selectedIndex].value,obj[this.monthFieldName2].selectedIndex+1,0).getDate();i++){
			obj[this.dateFieldName2][i-1]=new Option(((i<10)?"0":"")+i,((i<10)?"0":"")+i);
		}
	},
	insertYearList:function(){
		document.write("<select name=\""+this.yearFieldName+"\" onchange=\"dateSelect.updateDate(this.form);\">");
		for(var i=this.date.getFullYear();i<this.date.getFullYear()+10;i++){
			document.write("<option value=\""+i+"\" "+((this.date.getFullYear()==i)?"selected=\"selected\"":"")+">"+i+"</option>");
		}
		document.write("</select>");
	},
	insertMonthList:function(){
		document.write("<select name=\""+this.monthFieldName+"\" onchange=\"dateSelect.updateDate(this.form);\">");
		for(var i=1;i<=12;i++){
			document.write("<option value=\""+((i<10)?"0":"")+i+"\" "+((this.date.getMonth()+1==i)?"selected=\"selected\"":"")+">"+((i<10)?"0":"")+i+"</option>");
		}
		document.write("</select>");
	},
	insertDateList:function(){
		document.write("<select name=\""+this.dateFieldName+"\">");
		for(var i=1;i<=new Date(this.date.getFullYear(),this.date.getMonth()+1,0).getDate();i++){
			document.write("<option value=\""+((i<10)?"0":"")+i+"\" "+((this.date.getDate()==i)?"selected=\"selected\"":"")+">"+((i<10)?"0":"")+i+"</option>");
		}
		document.write("</select>");
	},
	insertYearList2:function(){
		document.write("<select name=\""+this.yearFieldName2+"\" onchange=\"dateSelect.updateDate2(this.form);\">");
		for(var i=this.date.getFullYear();i<this.date.getFullYear()+10;i++){
			document.write("<option value=\""+i+"\" "+((this.date.getFullYear()==i)?"selected=\"selected\"":"")+">"+i+"</option>");
		}
		document.write("</select>");
	},
	insertMonthList2:function(){
		document.write("<select name=\""+this.monthFieldName2+"\" onchange=\"dateSelect.updateDate2(this.form);\">");
		for(var i=1;i<=12;i++){
			document.write("<option value=\""+((i<10)?"0":"")+i+"\" "+((this.date.getMonth()+1==i)?"selected=\"selected\"":"")+">"+((i<10)?"0":"")+i+"</option>");
		}
		document.write("</select>");
	},
	insertDateList2:function(){
		document.write("<select name=\""+this.dateFieldName2+"\">");
		for(var i=1;i<=new Date(this.date.getFullYear(),this.date.getMonth()+1,0).getDate();i++){
			document.write("<option value=\""+((i<10)?"0":"")+i+"\" "+((this.date.getDate()==i)?"selected=\"selected\"":"")+">"+((i<10)?"0":"")+i+"</option>");
		}
		document.write("</select>");
	}
}

</script>

och här anropas funktionerna:

<script type="text/javascript">dateSelect.insertYearList();</script>
<script type="text/javascript">dateSelect.insertMonthList();</script>
<script type="text/javascript">dateSelect.insertDateList();</script>

<script type="text/javascript">dateSelect.insertYearList2();</script>
<script type="text/javascript">dateSelect.insertMonthList2();</script>
<script type="text/javascript">dateSelect.insertDateList2();</script>

Detta är alltså en datumhanterare som resulterar i 2 * 3 Selectboxar.

PepeJeriaMedlem sedan feb. 2003774 inlägg
#2

Funkade bra för mig när jag la till en <form> runt script taggarna + att jag la till en extra } före updateDate2:

	updateDate:function(obj){
		obj[this.dateFieldName].length=0;
		for(var i=1;i<=new Date(obj[this.yearFieldName][obj[this.yearFieldName].selectedIndex].value,obj[this.monthFieldName].selectedIndex+1,0).getDate();i++){
			obj[this.dateFieldName][i-1]=new Option(((i<10)?"0":"")+i,((i<10)?"0":"")+i);
		}
	[b]}[/b],
	updateDate2:function(obj){
		obj[this.dateFieldName2].length=0;
		for(var i=1;i<=new Date(obj[this.yearFieldName2][obj[this.yearFieldName2].selectedIndex].value,obj[this.monthFieldName2].selectedIndex+1,0).getDate();i++){
			obj[this.dateFieldName2][i-1]=new Option(((i<10)?"0":"")+i,((i<10)?"0":"")+i);
		}
	},
learnMedlem sedan jan. 20051 130 inlägg
#3

slarv! tackar!

140 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)