Riker
Lieutenant
- Registriert
- Jan. 2005
- Beiträge
- 862
Hallo zusammen,
ich habe ein großartiges Problem mit Javascript und Internet Explorer (surprise! ).
Im Mozilla läuft alles wunderbar...
Als Framework nutze ich des Weiteren Prototype.
Folgendes Szenario:
es sollen Datum und Uhrzeit angegeben werden (Start- und Endzeitpunkt). Ist es nun so, dass zu diesem Zeitpunkt bereits ein Termin gegeben ist, soll eine Fehlermeldung ausgegeben werden. Zu diesem Zweck prüfe ich zum einen den Datepicker auf ein Update, sowie auch die Uhrzeitfelder auf ein 'blur' (User hat was angegeben und klickt etwas anderes an und somit auf ein Feld) - jedoch entsteht dieser Fehler auch bei einem 'change' oder anderen Events.
Der Fehler, den mir der IE ausspuckt lautet folgendermaßen:
"Fehler: Das Objekt unterstützt diese Eigenschaft oder Methode nicht.".
Und nun hier der Code:
Der Fehler wird an folgender Stelle geworfen:
Hier sollten nun die HTMLObject Elemente durchlaufen und jedem dieser Observer zugeteilt werden - aber wie gesagt: der IE strekt :/
Hat diesbzgl. jemand eine Idee parat für mich?
Vielen Dank schonmal für Antworten...!
Grüße
Riker!
P.S.: Es handelt sich hierbei um die Version 8 des IE im Kompatibilitätsmodus (ja, den muss ich so nutzen :/ ) - also im Endeffekt um die 7er Version... schalte ich den Kompaitibilitätsmodus ab, funktioniert auch alles einwandfrei.
Ich habe auch mal nachgesehen und mir per alert() das Objekt, welches sich in "fun" zur Laufzeit befindet, ausgeben lassen.
Mit Komp.-Modus: [object]
Ohne Komp.-Modus: [object HTMLInputElement] (so, wie ich es auch vom FF kenne...)
SOLVED:
Aus dem obigen Beispiel mache:
(Man achte auf die Element.observe(fun,....))
Und der Internet Explorer spielt auch mit
ich habe ein großartiges Problem mit Javascript und Internet Explorer (surprise! ).
Im Mozilla läuft alles wunderbar...
Als Framework nutze ich des Weiteren Prototype.
Folgendes Szenario:
es sollen Datum und Uhrzeit angegeben werden (Start- und Endzeitpunkt). Ist es nun so, dass zu diesem Zeitpunkt bereits ein Termin gegeben ist, soll eine Fehlermeldung ausgegeben werden. Zu diesem Zweck prüfe ich zum einen den Datepicker auf ein Update, sowie auch die Uhrzeitfelder auf ein 'blur' (User hat was angegeben und klickt etwas anderes an und somit auf ein Feld) - jedoch entsteht dieser Fehler auch bei einem 'change' oder anderen Events.
Der Fehler, den mir der IE ausspuckt lautet folgendermaßen:
"Fehler: Das Objekt unterstützt diese Eigenschaft oder Methode nicht.".
Und nun hier der Code:
Code:
checkMeetingCollisions: function() {
var fieldsToObserve = new Array (
startTime= $('startTime'),
endTime= $('endTime')
);
var defaultErrorWindow = $('errorMsgMeeting').innerHTML;
fieldsToObserve.each(function(fun) {
fun.observe('blur', function() {
if (startTime.value != 'hh:mm' && endTime.value != 'hh:mm' && $('MEETING_START_DATE').value != '' && $('MEETING_END_DATE').value != '') {
........
Der Fehler wird an folgender Stelle geworfen:
Code:
fun.observe('blur', function() {
Hier sollten nun die HTMLObject Elemente durchlaufen und jedem dieser Observer zugeteilt werden - aber wie gesagt: der IE strekt :/
Hat diesbzgl. jemand eine Idee parat für mich?
Vielen Dank schonmal für Antworten...!
Grüße
Riker!
P.S.: Es handelt sich hierbei um die Version 8 des IE im Kompatibilitätsmodus (ja, den muss ich so nutzen :/ ) - also im Endeffekt um die 7er Version... schalte ich den Kompaitibilitätsmodus ab, funktioniert auch alles einwandfrei.
Ich habe auch mal nachgesehen und mir per alert() das Objekt, welches sich in "fun" zur Laufzeit befindet, ausgeben lassen.
Mit Komp.-Modus: [object]
Ohne Komp.-Modus: [object HTMLInputElement] (so, wie ich es auch vom FF kenne...)
Ergänzung ()
SOLVED:
Aus dem obigen Beispiel mache:
Code:
var defaultErrorWindow = $('errorMsgMeeting').innerHTML;
fieldsToObserve.each(function(fun) {
Element.observe(fun,'blur', function() {
if (startTime.value != 'hh:mm' && endTime.value != 'hh:mm' && $('MEETING_START_DATE').value != '' && $('MEETING_END_DATE').value != '') {
.......
(Man achte auf die Element.observe(fun,....))
Und der Internet Explorer spielt auch mit
Zuletzt bearbeitet: