Avatar billede johanna Nybegynder
26. oktober 2004 - 21:16 Der er 17 kommentarer og
1 løsning

Dato-beregner

Jeg skal bruge en datoberegner, der fungere således at når man taster en dato, skal man få en anden dato frem som resultat.

Resultatet opnås ved at taste:
Dato hvorfra der trækkes 3 mdr. og lægges 1 uge til.

Nogen der ved hvor jeg finder sådan en??
Avatar billede roenving Novice
26. oktober 2004 - 21:30 #1
Avatar billede johanna Nybegynder
26. oktober 2004 - 21:36 #2
Ser meget fint ud, men forstår ikke så meget af det. Man skal kunne indtaste dato (dag, måned, år) og evt. en lille tekst xxx xxx den (dato).

Kan man det med det script?
Avatar billede johanna Nybegynder
26. oktober 2004 - 21:37 #3
sorry.. ikke indtaste tekst.. det skal der komme ud som resultat + dato.
Avatar billede roenving Novice
26. oktober 2004 - 21:48 #4
Hvis du downloader roenvingDate.js (i zip-filen, der linkes til nederst på siden !-), kan du f.eks.

<script type="text/javascript" src="roenvingDate.js"></script>
<script type="text/javascript">
function visDato(elm){
  var val = elm.value.split(/, ?/);
  var d = new Date(+val[2],(+val[1]-1),+val[0]);
  elm.form.visD.value = d.dateDiff('set',0,-3,7).format('d. Mmm. yyyy');
}
</script>

<form>
Indtast dato: <input type="text" onchange="visDato(this)">&nbsp;(dag, måned, år)<br>
Dato, som er en uge efter for 3 mdr. siden: <input type="text" name="visD" size="30">

</form>
Avatar billede the_ghost Nybegynder
26. oktober 2004 - 21:49 #5
Her er en function du kan kalde, og give sende den dato der er indtastet med!
Den returnerer Den aktuelle dag - 3 måneder + 7 dage

<script type="text/javascript">
function changeDate(date)
{
var newMonth = date.getMonth() - 3;
if(newMonth < 0)
  date.setMonth(newMonth + 12);
else
  date.setMonth(newMonth);
 
date.setDate(date.getDate() + 7);
return date;
}
<script>
Avatar billede johanna Nybegynder
26. oktober 2004 - 22:02 #6
Roenving: Det tror jeg godt jeg kan bruge.

Men, hvordan kan jeg få  ændret fonten og fontstr.?
Jeg bruger verdana str. 8

The Ghost: Tak! Men jeg forstår ikke alt det med at kalde finction!
Avatar billede roenving Novice
26. oktober 2004 - 22:08 #7
Du kan sætte et anderledes text-format for feltet, formen eller siden ved at indsætte en style-attribut i det relevante tag (altså enten i input-, form- eller body-tagget !-)

style="font-family:verdana,sans-serif;font-size:8px;"
Avatar billede johanna Nybegynder
26. oktober 2004 - 22:16 #8
Okay, det med font + str. klarer siden selv!

Den kode du har lagt her på siden.. jeg går ud fra at den skal sættes ind et eller andet sted i det jeg har downloadet. Men hvor?

Jeg synes ikke det ligner de andre scripts jeg har....
Det skal på denne side: www.tumlingerne.dk
Avatar billede roenving Novice
26. oktober 2004 - 22:21 #9
Det, du har downloadet lægger du bare som filer i samme mappe, som du har dine sider i ...

-- og den kode, som er i indlægget 21:48:57 sætter du ind i din html-side uden ændringer (nå, ja, hvis du ikke har lyst til at have roenvingDate-scriptet liggende i samme mappe, kan du lægge det et andet sted, og så skal referencen i src på script-tagget ændres !-)
Avatar billede johanna Nybegynder
26. oktober 2004 - 22:40 #10
Godt så.. har lagt den op og det ser umiddelbart fint ud. Har lagt filerne op... men hvordan får man datoen frem??

Der er ingen "submit" knap, og enter dur ikke???

Har forøvirgt brugt php-side, men skulle ikke gøre den store forskel?
Avatar billede roenving Novice
26. oktober 2004 - 22:46 #11
Jeg har indstillet den til at bruge onchange, hvilket vil sige, at den reagerer, ligeså snart, man trykker udenfor eller f.eks. trykker tab ...

Men du vil vel så have den til at beregne de der ca. 282 dage frem ?-)

-- og du har skrevet, at man skal indtaste med bindestreg, så skal scriptet laves en anelse anderledes:

<script type="text/javascript">
function visDato(elm){
  var val = elm.value.split(/[,-] ?/);
  var d = new Date(+val[2],(+val[1]-1),+val[0]);
  elm.form.visD.value = d.dateDiff('set',0,0,282).format('d. Mmm. yyyy');
}
</script>

-- husk at bevare de øvrige dele !-)
Avatar billede roenving Novice
26. oktober 2004 - 22:53 #12
F.eks.

<tr>
<td class="row1" align="center">

<p><!--webbot bot="HTMLMarkup" startspan --><script type="text/javascript" src="roenvingDate.js"></script>

<script type="text/javascript">

function visDato(elm){

var val = elm.value.split(/[,-] ?/);

var d = new Date(+val[2],(+val[1]-1),+val[0]);

elm.form.visD.value = d.dateDiff('set',0,0,282).format('d. Mmm. yyyy');

}

</script>

<form>
<br>
<b><H6>Indtast dato:(dd-md-2004)</b><br>

<input type="text" onchange="visDato(this)"><br>

<b><H6>Din terminsdato er:</b><span style="padding:4px;border:1px solid #fdb;">Tryk</span> <br>

<input type="text" name="visD" size="20">

</form><!--webbot bot="HTMLMarkup" endspan --></p>
Avatar billede johanna Nybegynder
26. oktober 2004 - 22:53 #13
wow.. den dur :-)

Bindestreg: Ikke så væsentlig, men det ser godt ud. Tusind tak for din hjælp (og tålmodighed)..  :-)
Avatar billede roenving Novice
26. oktober 2004 - 22:53 #14
Velbekomme '-)
Avatar billede roenving Novice
26. oktober 2004 - 22:53 #15
;O)
Avatar billede johanna Nybegynder
26. oktober 2004 - 22:54 #16
Du skal nok lægge et svar så jeg kan give dig points!!!
Avatar billede johanna Nybegynder
26. oktober 2004 - 22:55 #17
Tak!
Avatar billede roenving Novice
26. oktober 2004 - 22:55 #18
-- tak for point ;~}
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