Seite 1 von 1

JS-Error durch Prüfung im Calendar-Popup

Verfasst: 15. Apr 2008, 22:13
von fasse
Ruft man ein Modul mit einem Datumsfeld auf (Rollenpflege / Profil) außer dem Terminmodul, so erhält man beim Klick in ein beliebiges Edit-Feld immer einen JS-Error. Dies scheint daran zu liegen, dass das Calendar-Popup hier eine Prüfung machen will.

Code: Alles auswählen

uncaught exception: Die Erlaubnis für das Lesen der Eigenschaft HTMLDivElement.parentNode wurde verweigert
Scheinbar die Prüfungen aus dem Terminmodul ?
Aber warum wird diese Prüfung bei jedem Feld aufgerufen ?

Verfasst: 15. Apr 2008, 23:38
von Roland
Ich weiß wo der Fehler liegt.

ab Zeile 564

Code: Alles auswählen

else if (this.use_gebi && e) 
{
	var t = e.originalTarget;
	while (t.parentNode != null)  <-- hier
	{
		if (t.id==this.divName) 
		{
					return true;
		}
		t = t.parentNode; <- und hier
	}
	return false;
}
nur wenn ich die while Schleife raus nehme dann wird das Kalender popup wenn ich nicht einen Link klicke gelschossen .. probiers mal aus

Gruß
Roland

Verfasst: 16. Apr 2008, 00:07
von Martin
Hi!

Den Fehler behebe ich. Ich wusste nicht, dass der Kalender auch in solchen Fällen benutzt wird. Deshalb fragt er nach einem Feld was nicht existiert.

Wird morgen/heute eingecheckt.

Bis dann
Martin

Verfasst: 16. Apr 2008, 08:24
von fasse
Roland hat geschrieben:nur wenn ich die while Schleife raus nehme dann wird das Kalender popup wenn ich nicht einen Link klicke gelschossen .. probiers mal aus
Generell finde ich das Verhalten besser, als mit der Schleife.

Wird das Popup angezeigt, so verschwindet es wieder sobald man woanders im Browser hinklickt. Bisher war es nämlich ziemlich schwierig das Popup wieder loszuwerden, wenn man kein Datum eingeben wollte.

Leider wird das Popup aber nun auch geschlossen, wenn man auf Monat weiter im Popup klickt, was ja nicht im Sinne des Anwenders ist.

Kann man hier einen Kompromiss einbauen. Wird ins Popup geklickt, bleibt es, ansonsten wird es geschlossen ?

Verfasst: 16. Apr 2008, 12:04
von Martin
Hallo!

Könnte es sein, dass jemand an der Java-Datei gespielt hat? Wie gesagt weiß ich wo der Fehler ist. Inzwischen klappt das Skript schon gar nicht mehr im IE.(Termine/Fotos...) Es wäre also gut, wenn das ganze zurück gespielt wird, auf den Status vor den Korrekturen. Ich würde das ganze dann gleich nach meinem Dienst machen.
Ist das nicht mal ein Angebot :wink:

Grüße
Martin

Verfasst: 16. Apr 2008, 12:16
von fasse
Martin hat geschrieben:Könnte es sein, dass jemand an der Java-Datei gespielt hat?
Wir entwickeln, da kann es schon mal sein, dass jemand Dateien ändert :)

Zurückspielen halte ich für eine schlechte Idee, hab auch noch Sachen eingebaut, die den IE eigentlich nicht stören dürften, aber nötig sind.

Verfasst: 16. Apr 2008, 12:23
von Roland
hmm .. also das eingecheckte Javascript funktioniert bei mir im IE und im Firefox .. ich glaub nicht das diese while Schleife je auf die Funktionalität einfluss gehabt hätte weil sie immer schon drin war ..
Ich spiel mich mal auch damit und vielleicht lässt sich ein Kompromis finden dass das Popup nur geschlossen wird wenn man es haben will.

Gruß Roland

Verfasst: 16. Apr 2008, 13:45
von Roland
hab jetzt ein If Anweißung drum rum gebaut damit er keinen Fehler ausgibt .. ich habs mit Firefox 2.0 und IE probiert und es funzt :D .. schaut euch das mal an

Gruß
Roland

Verfasst: 16. Apr 2008, 15:35
von Martin
Die Funktion Check() erwartet, dass die Felder Datum-Anfang und datum-Ende übergeben werden. Da ich übersehen habe, dass der Kalender auch an anderen Stellen benutzt wird, habe ich keine Abfrage eingebaut. Kurzum. Mit kleinen änderungen, sollte der Kalender wie früher funktionieren. Die Schleife hatte da zu 99% keinen direkten einfluss drauf.

Wenn ich doch noch die Abfragen einbauen soll könnt ihr euch ja melden.

Gruß
Martin

Verfasst: 16. Apr 2008, 16:59
von Roland
jede Verbesserung von dem Kalender script wäre super :D !! Dh. auch abfragen usw :D
wäre klass wennst du das noch einbauen könntest ;-D


Gruß
Roland

Verfasst: 16. Apr 2008, 23:26
von fasse
Da das eigentliche Problem jetzt sehr schön gelöst wurde, schließe ich diesen Thread mal.

Neue Probleme bitte in einem neuen Post unterbringen, damit die Übersicht nicht auf der Strecke bleibt :)