Anonymní profil Gogo – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Gogo – Programujte.comAnonymní profil Gogo – Programujte.com

 

Příspěvky odeslané z IP adresy 78.108.150.–

Gogo
PHP › Javascript v IE a EDGE
18. 8. 2017   #217560

#10 peter
Přeji opět pěkný den vypisy všech proměnných jsem už sem daval. Nicméně jsem to už vyřešil jinak vyprdnul jsem se na funkci intlDate a použil jednoduchou matematiku

  var oddata = document.getElementById('od').value;
  var dodata = document.getElementById('do').value;
  var od_d = oddata.toString().split(":");
  var do_d = dodata.toString().split(":");
  var pocitejhodinyod = (od_d[0]*60) + (od_d[1]*1); 
  var pocitejhodinydo = (do_d[0]*60) + (do_d[1]*1);
  var vysledek =(pocitejhodinydo*1 - pocitejhodinyod*1)/60;


A funguje to ve všech prohlížečích.

Děkuji všem za zájem pomoci a všechny odpovědi. :)

Gogo
PHP › Javascript v IE a EDGE
17. 8. 2017   #217525

#7 Gogo
Z toho vyplýva že problém je zjevně ve výstupu z funkce intlDate. Není to ani číslo ani string podle mně :( a už mi došli nápady jak to pořešit :(
 

Gogo
PHP › Javascript v IE a EDGE
17. 8. 2017   #217524

#6 peter
Přeji pěkné ráno. Ano Google používat umím ale to co mi píšete jsem samozřejmě zkoušel.

rozdel[2]= rozdel[0]*1;
rozdel[3]= rozdel[1]*1;

rozdel[4]= parseFloat(rozdel[0]);
rozdel[5]= parseFloat(rozdel[1]);

rozdel[6]= parseInt(rozdel[0]);
rozdel[7]= parseInt(rozdel[1]);

Výsledek pole jinde než IE a Edge (Firefox,Chrome ....)
Array [ "8", "30", 8, 30, 8, 30, 8, 30 ]

Výsledek pole v IE a Edge
Array [ "8", "30", NaN, NaN, NaN, NaN, NaN, NaN ]


a jako bonus kdyz si do kodu vložím tu proměnnou s tak to funguje samozřejmě správně :(

Gogo
PHP › Javascript v IE a EDGE
16. 8. 2017   #217518

#2 peter
Děkuji za rychlou reakci nicméně jak jsem psal již při zakládání vlákna pokoušel jsem se různými způsoby udělat ze stringu number ovšem beyúspěšně :( 

Promenna oddata : 8:00  index.php:290:3
Promenna dodata : 16:00  index.php:292:3
Promenna hodin : 8:00  index.php:294:3
Rozdelene hodiny : 8 minuty: 00  index.php:296:3
Vypocet : hodiny 8 minuty 0  index.php:298:4
Vysledek : 8
To stejné v EDGE a IE
Promenna oddata : 8:00
Promenna dodata : 16:30
Promenna hodin : ‎8‎:‎30
Rozdelene hodiny : ‎8‎ minuty: ‎30
Vypocet : hodiny NaN minuty NaN
Vysledek : NaN


a za boha nemůžu přijít na to jak to překonvertit na číslo aby s tim ten debilní prohlížeč nepracoval jako se stringem :(

Gogo
PHP › Javascript v IE a EDGE
16. 8. 2017   #217515

Přeji pěkný den potřebuji poradit s kouskem kódu v Javascriptu 

function prepocti()
{ var formu = document.getElementById('hodiny'); 
  var oddata = document.getElementById('od').value;
  var dodata = document.getElementById('do').value;
  var hodin = intlDate.format( new Date( (toTimestamp(new Date(toDate(dodata,"h:m:s"))) -3600000) - toTimestamp(new Date(toDate(oddata,"h:m:s")))));
  var rozdel = hodin.split(":");
  var vysledek = rozdel[0]+ (rozdel[1]/60);
  formu.value = vysledek;
}


Ve většině prohlížečů to funguje jak má tedy z formuláře načte hodnotu spočítá rozdíl a vráti do formuláře počet hodin od-do a převede minuty na zlomky hodin, (30 minut na 0,5 hodiny a podobně) nicméně v IE a EDGE píše tvrdohlavě NaN u výsledku. Nedokážu přijít na to proč. Myslel jsem že problém je že má hodiny a minuty ve stringu zkoušel jsem Number() i parseInt() i násobit 1 ale bez jakéhokoliv efektu.

Děkuji za každou radu

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý