---
title: "Datumfält som uppdaterar varandra"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/181679-datumfält-som-uppdaterar-varandra"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "pb81"
published: "2009-12-17T08:58:57.000Z"
updated: "2009-12-17T11:55:38.000Z"
replies: 3
views: 404
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/181679-datumfält-som-uppdaterar-varandra"
---

# Datumfält som uppdaterar varandra

## #1 — pb81, 2009-12-17T08:58Z

Hejsan!
Jag har två fält där man skall ange datum (2009-12-17), FromDate och ToDate. Det jag vill få till nu är att om man anger ett datum FromDatefältet så skall ToDatefältet plusa på med en dag med onChange. Och ändrar man i ToDate så skall FromDate bli minus en dag.

Går detta o lösa på ett smidigt sätt. Och det är viktigt att datumet skrivs in i rätt format.

Mvh // Paul

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

## #2 — Jojoxx, 2009-12-17T09:55Z

```
<script type="text/javascript">
Date.prototype.format=function(str){
	str=str.replace(/%D/g,("0"+this.getDate()).substring(("0"+this.getDate()).length-2));
	str=str.replace(/%Y/g,this.getFullYear());
	str=str.replace(/%N/g,("0"+(this.getMonth()+1)).substring(("0"+(this.getMonth()+1)).length-2));
	return str;
}
Date.prototype.fromStr=function(str){
	var d=new Date(0);
	var p=(p)?p:str.match(/(\d+)\-(\d+)\-(\d+)/); p=(p)?p.concat(0,0,0,0):p;
	if(p){ d.setFullYear(p[1]); d.setMonth(p[2]-1); d.setDate(p[3]); }
	return d;
}
</script>

<form>
Fr o m <input type="text" name="FromDate" onchange="var d=new Date().fromStr(this.value).getTime(); if(d>0){ this.form.ToDate.value=new Date(d+86400000).format('%Y-%N-%D'); }">
T o m <input type="text" name="ToDate" onchange="var d=new Date().fromStr(this.value).getTime(); if(d>0){ this.form.FromDate.value=new Date(d-86400000).format('%Y-%N-%D'); }">
</form>
```

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

## #3 — pb81, 2009-12-17T10:12Z

Fungerade ju kanon.
Kom dock på en sak som måste fungera oxå. jag ändrade lite och ökade till 3 dagar nu.. men om spannet är mindre än 3 dagar så måste man kunna sätta det. typ 2009-12-16 - 2009-12-17, dvs den skall inte ändras tre dagar då.

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

## #4 — Jojoxx, 2009-12-17T11:55Z

```
<script type="text/javascript">
Date.prototype.format=function(str){
	str=str.replace(/%D/g,("0"+this.getDate()).substring(("0"+this.getDate()).length-2));
	str=str.replace(/%Y/g,this.getFullYear());
	str=str.replace(/%N/g,("0"+(this.getMonth()+1)).substring(("0"+(this.getMonth()+1)).length-2));
	return str;
}
Date.prototype.fromStr=function(str){
	var d=new Date(0);
	var p=(p)?p:str.match(/(\d+)\-(\d+)\-(\d+)/); p=(p)?p.concat(0,0,0,0):p;
	if(p){ d.setFullYear(p[1]); d.setMonth(p[2]-1); d.setDate(p[3]); }
	return d;
}
var ddays=3;
</script>

<form>
Fr o m <input type="text" name="FromDate" onchange="var d=new Date().fromStr(this.value).getTime(); if(d>0 && (new Date().fromStr(this.form.ToDate.value).getTime()>d+86400000*ddays || !this.form.ToDate.value || new Date().fromStr(this.form.ToDate.value).getTime()<=d)){ this.form.ToDate.value=new Date(d+86400000*ddays).format('%Y-%N-%D'); }">
T o m <input type="text" name="ToDate" onchange="var d=new Date().fromStr(this.value).getTime(); if(d>0 && (new Date().fromStr(this.form.FromDate.value).getTime()<d-86400000*ddays || !this.form.FromDate.value || new Date().fromStr(this.form.FromDate.value).getTime()>=d)){ this.form.FromDate.value=new Date(d-86400000*ddays).format('%Y-%N-%D'); }">
</form>
```

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/181679-datumfält-som-uppdaterar-varandra
