Avatar billede nemlig Professor
29. april 2009 - 17:11 Der er 12 kommentarer og
1 løsning

Når dato er indtastet i inputfelt, bliver et andet inputfelt opdateret

Hejsa.
Jeg har et inputfelt, hvor der indtastes en dato.
Er det muligt automatisk at opdatere inputfelt nr. 2 med datoen fra inputfelt 1.
Men datoen i inputfelt 2 skal være datoen fra inputfelt 1 fratrukket 30 dage?
Og det skal være muligt at overskrive den beregnede dato?
Avatar billede majbom Novice
29. april 2009 - 19:52 #1
hvad med:

function minus30(x){
  var d = new Date(x.form.date1.value);
  d = new Date(d.getYear(),d.getMonth(),d.getDate()-30);
  x.form.date2.value = dateToString(d);
}
Avatar billede nemlig Professor
29. april 2009 - 21:04 #2
Ser spændende ud, men jeg er novice med javascript.
Skal jeg ikke også definere noget i mit input?
Lige nu ser mit inputfelt 2 sådan her ud:

<input type='text' name='fak1_forfald' onfocus=\"this.style.backgroundColor='#333333';\"  onblur=\"this.style.backgroundColor='#6666666';\">
Avatar billede majbom Novice
30. april 2009 - 06:38 #3
hvad mener du med at definere noget i din input?

rettede lige lidt i funktionen

function minus30(x){
  var d = new Date(x.date1.value);
  d = new Date(d.getYear(),d.getMonth(),d.getDate()-30);
  x.date2.value = dateToString(d);
}

<form name="my_form" action"...">
  <input type="text" name="date1" onblur="minus30('my_form')">
  <input type='text' name='fak1_forfald' onfocus=\"this.style.backgroundColor='#333333';\"  onblur=\"this.style.backgroundColor='#6666666';\">
</form>
Avatar billede nemlig Professor
30. april 2009 - 08:09 #4
Jeg troede bare, at der skal ske en henvisning til functionen, men jeg kan godt se, at input name fremgår at funktionen.

Jeg kan dog ikke få det til at virke.
Jeg har prøvet med din ovenstående kode, og har skrevet helt præcis nedenstående:
Når jeg springer ud af det 1. felt, kan jeg se, at IE viser en fejl i bundlinjen.
"'date1.value' er null eller ikke et objekt"

<html>
<script type="text/javascript">
function minus30(x){
  var d = new Date(x.date1.value);
  d = new Date(d.getYear(),d.getMonth(),d.getDate()-30);
  x.date2.value = dateToString(d);
}

</script>
<form name="my_form" action"test3.html">
  <input type="text" name="date1" onblur="minus30('my_form')">
  <input type="text" name="date2">
</form>
</html>
Avatar billede majbom Novice
30. april 2009 - 12:27 #5
prøv:

<html>
<script type="text/javascript">
function minus30(x){
  var d = new Date(x.value);
  d = new Date(d.getYear(),d.getMonth(),d.getDate()-30);
  document.getElementById('date2').value = dateToString(d);
}

</script>
<form name="my_form" action"test3.html">
  <input type="text" name="date1" onblur="minus30(this)">
  <input type="text" name="date2" id="date2">
</form>
</html>
Avatar billede nemlig Professor
30. april 2009 - 13:08 #6
Nu får jeg fejlen "Et objekt var ventet".
Jeg anvender i øvrigt IE7.

Jeg indtastet i øvrigt i formatet "31-01-2009".
Avatar billede majbom Novice
30. april 2009 - 20:25 #7
hmm, tror sq jeg har sovet lidt..

det var et script jeg fandt på nettet, men jeg biksede lige noget sammen, som jeg tror der er bedre:

http://majbom.com/testarea/exp/873357/
Avatar billede nemlig Professor
30. april 2009 - 20:32 #8
Ja - det ser meget bedre ud.
Det vil dog være rarest, hvis man kan indtaste datoen med dansk formatering, fx. 31-12-2008.
Avatar billede majbom Novice
30. april 2009 - 20:42 #9
sådan :)
Avatar billede nemlig Professor
30. april 2009 - 21:01 #10
Fedt nok - allertiders - så fungerer det.
Tusind tak for hjælpen.

Sender du et svar.
Avatar billede majbom Novice
30. april 2009 - 21:18 #11
kommer hér :)
Avatar billede nemlig Professor
30. april 2009 - 22:40 #12
Hejsa igen.
Jeg har lige en lille udfordring med ovennævnte, og tillader mig lige at spørge dig.
Det viser sig, at det inputfelt, som vi kalder "date1" i virkeligheden er med typen "hidden", hvorfor "onblur" ikke virker.
Kan det nemt løses, fx ved at onblur placeres i et andet inputfelt, som jeg ved altid udfyldes?
Avatar billede majbom Novice
01. maj 2009 - 08:05 #13
ja, det skulle der ikke være noget galt i...

tak for point og selv tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester