Avatar billede hansen Nybegynder
19. juli 2004 - 22:40 Der er 9 kommentarer og
1 løsning

Opdater input felt med dato / klokken ved klik

Jeg har to inputfelter, det ene med dato og klokken på hvornår siden er hentet, og et der er tomt som jeg påtænker skal kunne opdateres manuelt ved klik på f.eks. et ikon.

Såfremt der er noget i begge felter så skal den overføre antal minutter til et tredie felt !

Felt et: Format 19-07-2004 22:40:22
Felt to: tomt indtil aktivering via link - Format 19-07-2004 22:40:22
Felt tre: Udregn forskellen mellem de to første felter angivet i minutter - format f.eks 180

Kan det lade sig give ?
Avatar billede roenving Novice
19. juli 2004 - 22:46 #1
Hvor får du dine dato/tider fra ?-)
Avatar billede hansen Nybegynder
19. juli 2004 - 22:47 #2
det ene får jeg fra ASP via now()
Avatar billede roenving Novice
19. juli 2004 - 22:58 #3
Er det ikke smartere at bruge den samme tidsregning, da der jo sagtens kan være adskillige minutter imellem ?-)

Så enten skal du supplere tiden i et format, som direkte kan forstås af javascript, som så kan starte tiden derfra ...

For med ovennævnte date/time-string giver den altså: 07-07-2005 22:40:22, altså som mm-dd-yyyy tt:mm:ss, og regulerer så til 19. måned 2004, altså 7. måned 2005
Avatar billede roenving Novice
19. juli 2004 - 22:59 #4
-- eller også skal du angive den som javascript-kompatibel variabel i en script-blok ...
Avatar billede roenving Novice
19. juli 2004 - 23:34 #5
Det er hammer-irriterende at parse og formattere i javascript, mens du med garanti i dit VBscript har en format-metode, som overhovedet ikke findes i javascript, så man skal udtrække/parse dateparts og derefter sætte dem sammen til strenge eller Date-objekter:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Tider -- siden load</title>
<meta name="keywords" content="søgeord adskilt af komma">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin:0px;border:0px;padding:0px;font-family:tahoma,verdana,arial,sans-serif;font-size:small;}
</style>
<script language="javascript" type="text/javascript">
var stT,slT,refT = new Date().getTime();
function twoDigits(num){
  return (10>num)?"0"+num:""+num;
}
function startTid(){
  var st = document.getElementById('startSpan').innerHTML;
  st = st.split(" ");
  st[0] = st[0].split("-");
  st[1] = st[1].split(":");
  stT = new Date(st[0][2],+st[0][1]-1,st[0][0],st[1][0],st[1][1],st[1][2]);
  refT = refT - stT.getTime();
}
function opdaterTid(){
  slT = new Date();
  slT = new Date(slT.setMilliseconds(slT.getMilliseconds()-refT));
  var txt = twoDigits(slT.getDate()) + "-" + twoDigits(slT.getMonth()+1) + "-" + slT.getFullYear() + " " + twoDigits(slT.getHours()) + ":" + twoDigits(slT.getMinutes()) + ":" + twoDigits(slT.getSeconds());
  document.getElementById('slutSpan').innerHTML = txt;
  var mins = Math.round((slT.getTime() - stT.getTime())/(100*60));
  document.getElementById('minutSpan').innerHTML = mins/10 + " minut" + ((mins>=10)?"ter":"");
}
</script>
<script language="javascript" type="text/javascript" src="tom.js"></script>
</head>
<body onload="startTid();">
<div id="minDiv" style="margin:15px;">
Siden er loadet: <span id="startSpan">19-07-2004 22:40:22</span><br>
Siden er opdateret: <span id="slutSpan"></span><br>
<button onclick="opdaterTid();">Opdatér</button><br>
Du har været på siden i: <span id="minutSpan"></span><br>

En div-tekst</div>
</body>

</html>
Avatar billede hansen Nybegynder
20. juli 2004 - 09:52 #6
Hej Roenving, det virker som sådan fint, men jeg kan ikke genneskue hvordan du får antal minutter ned i et inputfelt :
<input type="tid" name="tid" size="5" value="">
Avatar billede roenving Novice
20. juli 2004 - 12:23 #7
Så har du brug for at kende noget formnavn eller om det er den eneste form på siden ...

...
  document.forms['gnu'].tid.value = mins/10 + " minut" + ((mins>=10)?"ter":"");
}
</script>
<script language="javascript" type="text/javascript" src="tom.js"></script>
</head>
<body onload="startTid();">
<form name="gnu" action="" onsubmit="if(this.tid.value==''){alert('Du skal trykke på tidsknappen');return false;}else return true;">
<div id="minDiv" style="margin:15px;">
Siden er loadet: <span id="startSpan">19-07-2004 22:40:22</span><br>
Siden er opdateret: <span id="slutSpan"></span><br>
<button onclick="opdaterTid();">Opdatér</button><br>
Du har været på siden i: <input name="tid" id="minutSpan" size="10"><br>
</div>
</form>
</body>

</html>
Avatar billede hansen Nybegynder
20. juli 2004 - 12:57 #8
Rigtig mange tak for hjælpen.
Sender du et svar.
Avatar billede roenving Novice
20. juli 2004 - 12:59 #9
Velbekomme '-)
Avatar billede roenving Novice
22. juli 2004 - 12:51 #10
-- og 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