---
title: "Odefinierad... Vad är felet?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/122861-odefinierad-vad-är-felet"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "learn"
published: "2005-02-20T13:16:33.000Z"
updated: "2005-02-21T12:11:11.000Z"
replies: 2
views: 188
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/122861-odefinierad-vad-är-felet"
---

# Odefinierad... Vad är felet?

## #1 — learn, 2005-02-20T13:16Z

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.

Permalänk: https://www.webforum.nu/p/122861

## #2 — PepeJeria, 2005-02-21T09:07Z

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);
		}
	},
```

Permalänk: https://www.webforum.nu/p/1557832

## #3 — learn, 2005-02-21T12:11Z

slarv! tackar!

Permalänk: https://www.webforum.nu/p/1557896

---

Tråden på webben: https://www.webforum.nu/amne/javascript/122861-odefinierad-vad-är-felet
