ugrás a tartalomhoz

Internet Explorer NaN hibaüzenetet ad vissza

tibo77 · 2006. Május. 25. (Cs), 00.11
Sziasztok!

Megőrülök, már egy napom ment rá egy olyan dologra, amit php-ben 3 perc alatt megoldanék, de javascriptben egyszerűen nem megy! Pls help valaki!!!

A kód:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>


<script language="JavaScript"><!--
function timeDifference(later,earlier) {
   
 var laterdate = new Date(later)  
 var earlierdate = new Date(earlier)  
   
    var difference = laterdate.getTime() - earlierdate.getTime();

    var daysDifference = Math.floor(difference/1000/60/60/24);
       difference -= daysDifference*1000*60*60*24
 
    alert(daysDifference);
}


</script>

<body onload="timeDifference('2006,08,03','2006,08,01')">



</body>
</html>


A lényeg: két dátum közötti napok számára lenne szükségem.

A gond: a fennti kód Firefoxban megy, Explorer-ben pedig nem.

Van valakinek ötlete?

Előre is köszi:

Tibo
 
1

nem szám

bbalint · 2006. Május. 25. (Cs), 07.20
nekem Internet Explorer-ben (MSIE 6, Win2k) NaN-t ír ki (Not a Number – nem szám), Firefox-ban működik rendesen.

szerintem mindössze arról van szó, hogy a böngészőprogramok többsége támogatja a javascript-et, az internet explorer meg nem :-P

(ha kicsit "debug"-olsz, akkor lát6od, hogy már a new Date()-nál NaN eredménnyel szolgál az internet explorer)

viszont, van egy olyan megoldás, hogy Date.setFullYear() – a W3C Schools Date objektumról szóló oldalán: ezzel a függvénnyel át lehet módosítani az adott Date() objektumot, amint én azt az alábbi átírt kódban teszem is:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />
<title>Untitled Document</title>
<script type="text/javascript">
//<!--
function timeDifference(later,earlier) {
 var laterdate = new Date()
 var earlierdate = new Date()  
 
 laterdate.setFullYear(parseInt(later.split(/[,\-\.]/)[0]),parseInt(later.split(/[,\-\.]/)[1]),parseInt(later.split(/[,\-\.]/)[2]));
 earlierdate.setFullYear(parseInt(earlier.split(/[,\-\.]/)[0]),parseInt(earlier.split(/[,\-\.]/)[1]),parseInt(earlier.split(/[,\-\.]/)[2]));
 
 var difference = laterdate.getTime() - earlierdate.getTime();
 var daysDifference = Math.floor(difference/1000/60/60/24);
 
 difference -= daysDifference*1000*60*60*24
 
 alert(daysDifference);
}
//--></script>
<body onload="timeDifference('2006,08,03','2006,08,01')"></body>
</html>
4

nem szám

tibo77 · 2006. Május. 25. (Cs), 13.45
nekem Internet Explorer-ben (MSIE 6, Win2k) NaN-t ír ki (Not a Number – nem szám), Firefox-ban működik rendesen.


Köszönöm! Elég nehéz úgy ismerkedni egy programnyelvel, hogy a feldolgozása nem konzekvens... :), de hát MS...
2

formátum

_jan_ · 2006. Május. 25. (Cs), 09.28
Ha a bevitelnél a 8/3/2006 formátumot használnád IE-ben is működne:
<body onload="timeDifference('8/3/2006','8/1/2006')">
3

seholsem

tibo77 · 2006. Május. 25. (Cs), 13.43
Ha a bevitelnél a 8/3/2006 formátumot használnád IE-ben is működne:
<body onload="timeDifference('8/3/2006','8/1/2006')">


Nekem ez így sehol sem müxik...