Hallo, ich habe so eben ein kleines Skript geschrieben welches zum einen die Zeit zwischen Zeit Zeitpunkten ermittelt und zum andern den Endzeitpunkt verschiebt wenn man die Dauer ändert.
Das ganze funktioniert im FF auch wunderbar, aber leider nicht im IE. Dieser Zeigt in den Textfelder immer nur "NaN" an. Nun hab ich das ganze im Opera probiert und musste fest stellen das dieser mir, wenn ich als Dauer 0 Tag, 0 Stunden und 0 Minuten eingebe nicht den Richtigen Endzeitpunkt (in dem Fall müsste Start- und Endzeitpunkt ja gleich sein) angibt, aber den falschen Zeitpunkt um die richtigen Werte erhöht, wenn ich nun wieder eine Länger Dauer eingebe (hoffe das war jetzt verständlich).
Weiß irgend wer warum der IE überhaupt nicht will und warum Opera wenn die eingegeben Dauer 0 ist nicht End- gleich Startzeitpunkt setzt?
Schon mal vielen Danke für eure Mühen!
Code:
function set_duration() { start = new Date(document.taskform.start_month.value+" "+ document.taskform.start_day.value+", "+ document.taskform.start_year.value+" "+ document.taskform.start_time.value); start = start.getTime()/60000; //min finished = new Date(document.taskform.finished_month.value+" "+ document.taskform.finished_day.value+", "+ document.taskform.finished_year.value+" "+ document.taskform.finished_time.value); finished = finished.getTime()/60000; //min duration = finished - start; //Dauer in Tage, Stunden, Minuten aufschlüssen document.taskform.duration_day.value = duration / (24*60); document.taskform.duration_hour.value = duration % (24*60) / 60; document.taskform.duration_min.value = duration % 60; }
Code:
//reminder Felder ändern start = new Date(document.taskform.start_month.value+" "+ document.taskform.start_day.value+", "+ document.taskform.start_year.value+" "+ document.taskform.start_time.value); start = start.getTime(); //Millisec finished = new Date(document.taskform.finished_month.value+" "+ document.taskform.finished_day.value+", "+ document.taskform.finished_year.value+" "+ document.taskform.finished_time.value); finished = finished.getTime(); //Millisec duration_diff = finished - start; //Die Felder Tag, Stunde, Minute addieren und in Millisec Umrechnen duration_formular = 1000*(60*60*24*document.taskform.duration_day.value + 60*60*document.taskform.duration_hour.value + 60*document.taskform.duration_min.value); if(document.taskform.planning_type[1].checked == true) { finished = new Date((start + duration_formular)); year = finished.getYear(); if (year < 999) year += 1900; document.taskform.finished_year.value = year; //seltsamerweis weißt javascript scheinbar Januar den Monat 0 zu document.taskform.finished_month.value = finished.getMonth()+1; document.taskform.finished_day.value = finished.getDate(); document.taskform.finished_time.value = finished.getHours()+":"+finished.getMinutes() }
Weiß irgend wer warum der IE überhaupt nicht will und warum Opera wenn die eingegeben Dauer 0 ist nicht End- gleich Startzeitpunkt setzt?
Schon mal vielen Danke für eure Mühen!
Kommentar