WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 08.12.2006, 21:31   #1
Flink
Hero
 
Registriert seit: 29.08.2001
Alter: 57
Beiträge: 904


Flink eine Nachricht über ICQ schicken Flink eine Nachricht über Skype™ schicken
Standard JavaScript: onselect im Internet Explorer

Ich habe ein Problem mit der onselect Eventfunktion in einer Select-Box im Internet Explorer. Die dabei aufgerufenen JavaScript Funktion wird nur nach einer gewissen Pause von einigen Sekunden ausgeführt. Wenn man zu schnell hintereinander daraufklickt, tut sich nichts. Im Firefox unter LINUX läuft es problemlos. Die dahinterliegende Funktion verbindet sich über AJAX auf den Server und lädt Inhalte entsprechend der Auswahl in der Select Box nach.

http://metisse.de/test/index.php?id=100

Was ist hier falsch? Wie kann man es erreichen, daß die onselect immer sofort wie im FF ausgeführt wird?

Code:
<select id="pid2" onchange="fillSelect(this, 3,1);"><option value="0"></option></select>
<select id="pid3" onchange="fillSelect(this, 0,0);"><option value="0"></option></select>
____________________________________
Bibel
Flink ist offline   Mit Zitat antworten
Alt 09.12.2006, 12:16   #2
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Ich habe mit dem IE7 bei den selects kein Problem, allerdings scheint die Ladezeit beim IE generell höher sein - hast du irgendwelche Sondersachen für den IE in deinem TypoScript?

Der Grund wieso bei zu schnellen Wechseln im Select nichts passiert liegt daran, daß die Funktion fillSelect() dafür sorgt das sie nicht zwei mal gleichzeitig ausgeführt werden kann:
Code:
if (inAction == true)	{
	return false;
}
inAction = true;
...
inAction = false;
return true;
Ich nehm' mal an, daß sonst Probleme auftreten würden.

jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Alt 09.12.2006, 20:50   #3
Flink
Hero
 
Registriert seit: 29.08.2001
Alter: 57
Beiträge: 904


Flink eine Nachricht über ICQ schicken Flink eine Nachricht über Skype™ schicken
Standard

Zitat:
Original geschrieben von jak
allerdings scheint die Ladezeit beim IE generell höher sein - hast du irgendwelche Sondersachen für den IE in deinem TypoScript?
Nein, zumindest nicht in dieser Funktion. Aber im xAjax-Code aus dem xajax Project wird abhängig vom Browser ein anderer Code ausgeführt.

Zitat:
Original geschrieben von jak
Der Grund wieso bei zu schnellen Wechseln im Select nichts passiert liegt daran, daß die Funktion fillSelect() dafür sorgt das sie nicht zwei mal gleichzeitig ausgeführt werden kann:
Das ist auch ohne diese Prüfung, ob das Skript noch ausgeführt wird, genauso abgelaufen. Es sollte verhindert werden, daß die Funktion 2mal gleichzeitig ausgeführt wird.
Es ist aber seltsam, daß ich beim IE6 einige Sekunden warten muß. Ob der IE6 beim Setzen einer innerHTML mit größeren Text mit Bildern so langsam ist?
____________________________________
Bibel
Flink ist offline   Mit Zitat antworten
Alt 10.12.2006, 16:15   #4
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Der IE6 versteht bei selects kein innerHTML, wie es beim IE7 ist weiß ich nicht.
Auf jeden Fall kann man bei FF ein select verändern indem man innerHTML verändert, beim IE (6, k.a. ob auch 7) muß mann add(new Option()) verwenden, was bei größeren Selects klarerweise länger dauert, die Selects auf deiner Seite sind aber eh nicht sehr groß.

jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Antwort


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

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.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:35 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag