php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ?

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 09-10-2006, 20:08
Mr.Programe
 Newbie
Links : Onlinestatus : Mr.Programe ist offline
Registriert seit: Jun 2005
Beiträge: 39
Mr.Programe ist zur Zeit noch ein unbeschriebenes Blatt
Standard FF machts richtig

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.

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()
	   	  }
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!
__________________
Wissen ist Macht
Power is nothing without control

Geändert von Mr.Programe (10-10-2006 um 09:12 Uhr)
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 09-10-2006, 20:13
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: FF machts richtig

Regeln lesen, Code umbrechen, vor nächster Antwort, sonst *trash*
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 09-10-2006, 20:15
Mr.Programe
 Newbie
Links : Onlinestatus : Mr.Programe ist offline
Registriert seit: Jun 2005
Beiträge: 39
Mr.Programe ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sorry hatte ausversehen abgeschickt, bevor es richtig Editiert war. (verdammt bist du schnell was das öffnen von Beiträgen angeht)
__________________
Wissen ist Macht
Power is nothing without control
Mit Zitat antworten
  #4 (permalink)  
Alt 09-10-2006, 20:28
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: FF machts richtig

Was kommt denn bei der Berechnung von duration_formular raus?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 10-10-2006, 09:28
Mr.Programe
 Newbie
Links : Onlinestatus : Mr.Programe ist offline
Registriert seit: Jun 2005
Beiträge: 39
Mr.Programe ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich hab die Kommentierung noch mal überarbeitet. duration_formular gibt die vom Nutzer oder von der ersten Funktion ermittelte Zeit zwischen start und finished in Millisekunden an (die Werte hab ich auch schon mit hilfe von alert überprüft, sie stimmmen).
Ich hab nun aber auch mal die andern Werte kontroliert und fest gestellt das start (Timstamp in Millisekunden) im
FF 1158312600000 (15.09.2006 11:30 der Wert der wirklich im Formular steht)
Opera 1160405340000 (09.10.2006 16:49 keine Ahung wie Opera darauf kommt)
IE NAN
ist.
__________________
Wissen ist Macht
Power is nothing without control
Mit Zitat antworten
  #6 (permalink)  
Alt 10-10-2006, 09:52
Mr.Programe
 Newbie
Links : Onlinestatus : Mr.Programe ist offline
Registriert seit: Jun 2005
Beiträge: 39
Mr.Programe ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Vielleicht noch erwähnenswert, wenn start und finish gleich sind, ermittelt Opera in set_duration() (der ersten Funktion) korret eine Zeit von 0 Tagen, 0 Stunden und 0 Minuten, wenn start = finished ist, ändere ich die Zeit um einer Stunde wird mir aber schon eine Dauer von
-0.0006944444444444445 Tage -0.016666666666666666 Stunden -1 Minuten angezeigt. Die Berechnungen von
start ergibt 19340089 und
von end 19340088
(hier wird in Minuten gerechnent, also eigentlich ne abweichung von 1 Minut statt ener Stunde)
__________________
Wissen ist Macht
Power is nothing without control
Mit Zitat antworten
  #7 (permalink)  
Alt 11-10-2006, 12:11
Mr.Programe
 Newbie
Links : Onlinestatus : Mr.Programe ist offline
Registriert seit: Jun 2005
Beiträge: 39
Mr.Programe ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hmm, ich hab nun mal etwas rum experimentiert und fest gestellt egal ob ich start nach dem Schema
Code:
Objektname = new Date("Monat Tag, Jahr Stunden:Minuten:Sekunden");
oder
Code:
Objektname = new Date(Jahr, Monat, Tag, Stunden, Minuten, Sekunden);
definierte der Internet Explore erkennt das Datum nicht. Nur bei der Nutzung von
Code:
Objektname = new Date(Millisekunden);
erkennt er es als Datum (http://de.selfhtml.org/javascript/objekte/date.htm). Da die Funktionen aber direkt auf die Eingabe des Nutzer reagieren sollen, kann ich nicht PHP bemühen um die Anzahl von Millisekunden zu ermitteln. Der andere weg über die Obengenannten konstrukte funktioniert auch nicht. Fehlen die benötigten Konstruktoren in IE oder was mach ich falsch???
__________________
Wissen ist Macht
Power is nothing without control
Mit Zitat antworten
  #8 (permalink)  
Alt 11-10-2006, 14:43
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Code:
Objektname = new Date("Monat Tag, Jahr Stunden:Minuten:Sekunden");
Objektname = new Date(Jahr, Monat, Tag, Stunden, Minuten, Sekunden);
Also bei mir "funzen" diese beiden Möglichkeiten im IE (6) gut.

Hast du die Hinweise bei SELFHTML beachtet, in welcher Form die Parameter jeweils zu übergeben sind?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #9 (permalink)  
Alt 11-10-2006, 17:36
Mr.Programe
 Newbie
Links : Onlinestatus : Mr.Programe ist offline
Registriert seit: Jun 2005
Beiträge: 39
Mr.Programe ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Code:
start = new Date("2006, 10, 5, 12, 30, 00");
start = start.getTime()/60000; //min
alert(start);
Alert gibt NAN aus.

Code:
start = new Date("10 5, 2006 12:30:00");
Alert gibt NAN aus.

D.h. natürlich wieder nur im IE (Version 6.0.2900.2180), FF gibt einen Zahl aus.
__________________
Wissen ist Macht
Power is nothing without control

Geändert von Mr.Programe (11-10-2006 um 17:40 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 11-10-2006, 18:05
Shurakai
 Master
Links : Onlinestatus : Shurakai ist offline
Registriert seit: May 2004
Ort: Bergisch Gladbach
Beiträge: 3.084
Shurakai ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Tipp: Gib mal nach

start = new Date("2006, 10, 5, 12, 30, 00");

alert(start); aus. Er sagt dir dann ganz genau, was nicht stimmt.


Dann kommt mein zweiter Tipp: Versuche es mal ohne die " ", also

Code:
start = new Date(2006, 10, 5, 12, 30, 00);
Grüße
Mit Zitat antworten
  #11 (permalink)  
Alt 11-10-2006, 18:16
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von wahsaga
Hast du die Hinweise bei SELFHTML beachtet, in welcher Form die Parameter jeweils zu übergeben sind?
Wofür frag' ich dich das eigentlich wohl ...?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #12 (permalink)  
Alt 13-10-2006, 16:40
Mr.Programe
 Newbie
Links : Onlinestatus : Mr.Programe ist offline
Registriert seit: Jun 2005
Beiträge: 39
Mr.Programe ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok, ich hab es jetzt mit diesem Konstruktor zum laufen bekommen

[/CODE]
Code:
Objektname = new Date(Jahr, Monat, Tag, Stunden, Minuten, Sekunden);
Nun erkennt er in FF, IE und Opera die Daten. IE und Opera haben bei der Berechnung der Tage und Stunden die Kommerzahl zurück gegeben daher musste ich noch Math.floor einbauen (FF macht es auch ohne).

Nochmal vielen Dank für eure Hilfe

Code:
function set_duration()
{
  if(document.taskform.planning_type[1].checked == true)
  {
        start_time = document.taskform.start_time.value;
	finished_time = document.taskform.finished_time.value;
	start_month = document.taskform.start_month.value-1;
	finished_month = document.taskform.finished_month.value-1;
	start_day = document.taskform.start_day.value;
	finished_day = document.taskform.finished_day.value;
	start_year = document.taskform.start_year.value;
	finished_year = document.taskform.finished_year.value;
	start_min = document.taskform.start_time.value.substring(0,2);
	start_hour = document.taskform.start_time.value.substring(3,5);
	finished_min = document.taskform.finished_time.value.substring(0,2);
	finished_hour = document.taskform.finished_time.value.substring(3,5);
	 		  
	start = new Date(start_year, start_month, start_day, start_min, start_hour, 00);
	start = start.getTime()/60000; //min
		
	finished = 
           new Date(finished_year, finished_month, finished_day, finished_min, finished_hour, 00); 
	finished = finished.getTime()/60000; //min

	duration = finished - start; 		   
	document.taskform.duration_day.value = Math.floor(duration / (24*60));
	document.taskform.duration_hour.value = Math.floor(duration % (24*60) / 60);
	document.taskform.duration_min.value =  duration % 60;   
  }
}
__________________
Wissen ist Macht
Power is nothing without control

Geändert von Mr.Programe (18-10-2006 um 11:38 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

10 Gründe, warum das Todesstern-Projekt gescheitert ist
10 Gründe, warum das Todesstern-Projekt gescheitert istDie Todesstern-Projekte sind spektakulär gescheitert. Lernen Sie von den Fehlern des Imperiums und bewahren Sie Ihre Projekte davor, der dunklen Seite der Macht zu verfallen!

24.11.2020 | Berni

Projektmanagement-Grundlagen Was ist ein PMO?
Projektmanagement-Grundlagen Was ist ein PMO?In unserer Infografik erfahrt ihr es.

02.11.2020 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

21.10.2020 Berni | Kategorie: PHP/ Anzeigenmarkt
Sendeplan Script inkl. Wunsch- und Grußbox + Kick-System + Bewerbungssystem

Das professionelle Sendeplan PHP Script inkl. Wunsch- und Grußbox + Kick-System für dein Webradio. Der übersichtliche Sendeplan bietet deinen Moderatoren und Zuhörern die perfekte Übersicht der aktuellen Shows! Du kannst nicht nur Sendungen eintragen, s

20.10.2020 drcomputer | Kategorie: PHP/ Web Radio
Newsmanager 2

Der Newsmanager 2 ist sehr Vielfältig und kann News schreiben, Newsletter versenden und RSS Feeds in einem erzeugen.

20.10.2020 Stephan_1972 | Kategorie: PHP/ News
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:43 Uhr.