webForumDet fria alternativet

inte i ett fält

13 svar · 272 visningar · startad av ampy

ampyMedlem sedan feb. 20011 498 inlägg
#1

Denna kod hittade jag på Jojoxx.net:

<form name="cform">
<input type="text" name="disp" size=28 style="width: 300px;">
</form>
<script type="text/javascript">
/* Detta script finns att hämta på [url]http://www.jojoxx.net[/url] och
   får användas fritt så länge som dessa rader står kvar. */

var year = 2002;
var month = 7;
var day = 20;

// Do not edit lines below.
var then = new Date(year,month-1,day);
function runMany(){
	var now = new Date();
	if (now < then){
		var days  = Math.floor((then-now)/(1000*60*60*24));
		var hours = Math.floor((then-now-days*1000*60*60*24)/(1000*60*60));
		var mins  = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60)/(1000*60));
		var secs  = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60-mins*1000*60)/(1000));
		var tsecs = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60-mins*1000*60-secs*1000)/(100));
		document.cform.disp.value = days + " dagar, " + hours + " timmar, " + mins + " minuter, " + secs + ":" + tsecs + " sekunder.";
	}
	setTimeout("runMany();",100);
}
runMany();
</script>

Hur gör man så att resultatet visas direkt på sidan och inte i ett fält?

Alltså i en span-tagg eller något:

<span id=nedrakning style="position: absolute;"></span>

Har försökt att få till det men lyckas aldrig

tosteweMedlem sedan juni 200291 inlägg
#2

Du kan ju till att börja med analysera raden...
document.cform.disp.value = days + " dagar, " + hours + " timmar, " + mins + " minuter, " + secs + ":" + tsecs + " sekunder.";
Det är den raden som skriver till
<input type="text" name="disp" size=28 style="width: 300px;">

Du måste på något sätt skriva till din <SPAN name="disp"> tagg och jag vill minnas att du skall använda dig av en metod som heter InnerHTML men jag har inga böcker tillgängliga just nu. och det är för varmt för att tänka. Men kolla på nätet jag tror att det serut ungefär såhär:

Document.disp.InnerHTLM = days + " dagar, " + hours + " timmar, " + mins + " minuter, " + secs + ":" + tsecs + " sekunder.";

Men det är långt ifrån säkert.

Lycka till i värmen

ampyMedlem sedan feb. 20011 498 inlägg
#3

Du hjälpte mig en bit på vägen, lyckades får ihop detta:

<h1><font color="#FF0000"><b><span id=disp style="position: absolute;"></span></b></font></h1>
<script type="text/javascript">
/* Detta script finns att hämta på [url]http://www.jojoxx.net[/url] och
   får användas fritt så länge som dessa rader står kvar. */
var elementId = "disp";

<%

 dNextDate = getNextMonday()
 
 tider = dNextDate 
  
 function getNextMonday()
  '-- declare variables --
  dim iWeekday 
  dim dNextDate
  Dim dToday
  
  '-- init -----------------
  dToday = CDate(Year(now()) & "-" & Month(now()) & "-" & day(now()) & " 21:00")
  iWeekday = weekday(now(),2)
  
  if (iWeekday > 1) or (iweekday = 1 and hour(now()) > 20) then
   dNextDate = DateAdd("d", 8-iWeekday , dToday)
  else
   dNextDate = dToday
  end if
  
  getNextMonday = dNextDate
 end function
%>

var year = <%=year(tider)%>;
var month = <%=month(tider)%>;
var day = <%=day(tider)%>;
var hour = 21;
var min = 0;
var sec = 0;

// Do not edit lines below.
var then = new Date(year,month-1,day,hour,min,sec);
function runMany(){
	var now = new Date();
	if (now < then){
		var days  = Math.floor((then-now)/(1000*60*60*24));
		var hours = Math.floor((then-now-days*1000*60*60*24)/(1000*60*60));
		var mins  = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60)/(1000*60));
		var secs  = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60-mins*1000*60)/(1000));
		document.all[elementId].innerHTML = days + " dagar " + hours + " timmar " + mins + " minuter " + secs + " sekunder";
	}
	setTimeout("runMany();",100);
}
runMany();
</script>

Men denna kod tar från datorns klocka men jag vill ta från serverns.

Misstänker att man ska ändra denna rad:

var now = new Date();

men det funkar inte så här:

var now = new <%=Date()%>;

hur ska man skriva?

solbulleMedlem sedan mars 20015 287 inlägg
#4

Fungerasr det inte bara med:

var now = <%=Date()%>;

ampyMedlem sedan feb. 20011 498 inlägg
#5

Nej

tosteweMedlem sedan juni 200291 inlägg
#6

Error

Vad får du för fel på
var now=<%date()%>

??

ampyMedlem sedan feb. 20011 498 inlägg
#7

När jag skriver

var now=<%date()%>

eller var now=<%date()%>;

så skriver den inte ut något.

När jag skriver:

var now = <%=date%>;

så skriver den ut:

11890 dagar 18 timmar 59 minuter 58 sekunder

och så uppdateras inte sekunderna

men det ska egentligen stå:

5 dagar 10 timmar 37 minuter 30 sekunder

tosteweMedlem sedan juni 200291 inlägg
#8

Now()

Pröva med <%Now()%> och se om det fungerar bättre.

Stewe

ampyMedlem sedan feb. 20011 498 inlägg
#9

Då får jag ett javascriptfelmeddelande som lyder:

; förväntats

var now = <%=now()%>;

raden blir ju så här:

var now = 2002-07-17 10:36:45;

tror inte man kan ha :

därför blir det javascriptfel

tosteweMedlem sedan juni 200291 inlägg
#10

Kan du inte på något sätt omvandla datumformatet till en sträng och hacka upp den...

ampyMedlem sedan feb. 20011 498 inlägg
#11

Hur ska datumformatet se ut egentligen?

tosteweMedlem sedan juni 200291 inlägg
#12

<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>

date()=<%=date()%><BR>
Now()=<%=now()%><BR>
time()=<%=Time()%><BR>

</BODY>
</HTML>

Gav:

date()=2002-07-17
Now()=2002-07-17 11:05:02
time()=11:05:02

ampyMedlem sedan feb. 20011 498 inlägg
#13

Men hur ska det då se ut på denna rad?

var now = <%=now()%>;

tosteweMedlem sedan juni 200291 inlägg
#14

Men är det så djävla viktigt att hämta server tiden ??? (enkel utväg) :)

Kan du annars inte ge Now() några variabler eller metoder( jag har ingen Java bok att kolla i)... Typ:
var nu = Now(<%=now()%>)
Vad vet jag...
Stewe

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)