Forum Doku Wiki Blog

Forumsarchiv 2004, Oktober
Fehler wegen zu schneller Verarbeitung?

archivierte Beiträge lesen

  1. (JAVASCRIPT) Fehler wegen zu schneller Verarbeitung? von Hagen, 04. 10. 2004, 17:11

Fehler wegen zu schneller Verarbeitung?

Der folgende Beitrag wurde am 04. 10. 2004, 17:11 Uhr von Hagen veröffentlicht.

Hallo,

folgender Code macht mir ziemlich Kopfschmerzen. Wenn ich an der mit !!!! markierten Stelle einen Alert einbau, funktioniert der Code und befüllt die Combo in meinem Hauptfenster und in meinem Popup. Wenn der Alert nicht da ist, wird nur die Combo im Popup richtig befüllt. Sieht einer von euch eine mögliche Fehlerquelle. Ich glaube nämlich nicht an die Sache mit der zu schnellen Verarbeitung, bin aber mit meinem Latein am Ende.

Gruß und Danke!

  JSSelect.prototype.setOptionsByMap=function(opts)
  {
    var el=this.gID();
    var prevVal=el.value;
    for(var i=0;i<opts.length;i++) {
      var singleOpt=splitComponentStr(opts[i]);
      if(el.options[i]==null) {
        if(i==0) {
          el.options[i]=new Option(singleOpt[1],singleOpt[0]);
        } else {
          var nopt=el.options[i-1].cloneNode(true);
          el.options.appendChild(nopt);
        }
      }
// !!!!
      el.options[i].text=singleOpt[1];
      el.options[i].value=singleOpt[0];

    }
    el.options.length=i;
    setFormElementValue(el,prevVal);
  }

Fehler wegen zu schneller Verarbeitung?

Der folgende Beitrag wurde am 04. 10. 2004, 17:26 Uhr von Avalon veröffentlicht.

In einem solchen Fall sollte man zunächst auf die Javascript-Konsole schauen!
Welcher Fehler wird denn dort gemeldet, Zeile und Spalte?

Gruß
Avalon

Fehler wegen zu schneller Verarbeitung?

Der folgende Beitrag wurde am 04. 10. 2004, 17:30 Uhr von Hagen veröffentlicht.

> In einem solchen Fall sollte man zunächst auf die Javascript-Konsole schauen!
> Welcher Fehler wird denn dort gemeldet, Zeile und Spalte?

Hallo,

anfangs kam keine Exception. Ein try .. catch hat einen "Unspecified Error" in folgenden Zeilen hervor gebracht.
      el.options[i].text=singleOpt[1];
      el.options[i].value=singleOpt[0];

Fehler wegen zu schneller Verarbeitung?

Der folgende Beitrag wurde am 04. 10. 2004, 17:37 Uhr von Hagen veröffentlicht.

> Hallo,
>
> anfangs kam keine Exception. Ein try .. catch hat einen "Unspecified Error" in folgenden Zeilen hervor gebracht.
>       el.options[i].text=singleOpt[1];
>       el.options[i].value=singleOpt[0];

Genauer gesagt tritt der Fehler in der oberen Codezeile (el.options[i].text=singleOpt[1];) auf. Mit einem try .. catch um genau diese Zeile werden die Einträge in die Combo eingefügt, allerdings wird sie nicht automatisch auf die Länge des längsten Eintrags angepasst.


Gruß, Hagen

Fehler wegen zu schneller Verarbeitung?

Der folgende Beitrag wurde am 04. 10. 2004, 17:46 Uhr von Avalon veröffentlicht.


> >       el.options[i].text=singleOpt[1];
> >       el.options[i].value=singleOpt[0];

Was sagt den dem DOM-Inspector in der Rubrik "Javascript Objects" zu diesen Objekten?

Gruß
Avalon

Fehler wegen zu schneller Verarbeitung?

Der folgende Beitrag wurde am 04. 10. 2004, 18:24 Uhr von Hagen veröffentlicht.

> Was sagt den dem DOM-Inspector in der Rubrik "Javascript Objects" zu diesen Objekten?

Danke für Deine Hilfe. Konnte mit Hilfe eine andere Möglichkeit finden:

var opt = el.document.createElement( "option" );
opt.text = singleOpt[1];
opt.value = singleOpt[0];
el.options[ i ] = opt;

Nochmals Danke!!!!


Gruß, Hagen

Fehler wegen zu schneller Verarbeitung?

Der folgende Beitrag wurde am 04. 10. 2004, 20:04 Uhr von Martin Speiser veröffentlicht.

Hi Hagen,

> var opt = el.document.createElement( "option" );
> opt.text = singleOpt[1];
> opt.value = singleOpt[0];
> el.options[ i ] = opt;

hab's mir eben nochmal angeguckt. Ich tipp mal drauf, dass die Prüfung auf "null" fehlgeschlagen ist. null gibt's nicht in Javascript. Hab ich dir das nicht schon mal gesagt? ;-)

Gruß,
Martin

PS: für die anderen: Hagen ist ein Kollesche.

Fehler wegen zu schneller Verarbeitung?

Der folgende Beitrag wurde am 04. 10. 2004, 21:35 Uhr von Tobias Müller veröffentlicht.

Hallo Martin,

> hab's mir eben nochmal angeguckt. Ich tipp mal drauf, dass die Prüfung auf "null" fehlgeschlagen ist. null gibt's nicht in Javascript.

Natürlich gibt es "null" in Javascript.

MfG, Mülli
--
Viva Colonia!

Fehler wegen zu schneller Verarbeitung?

Der folgende Beitrag wurde am 05. 10. 2004, 06:41 Uhr von Martin Speiser veröffentlicht.

Hi Tobias,

> Natürlich gibt es "null" in Javascript.

wenn du "null" verwendest, verwendest du eigentlich ein undefiniertes Objekt.

Gruß,
Martin

Fehler wegen zu schneller Verarbeitung?

Der folgende Beitrag wurde am 04. 10. 2004, 20:02 Uhr von Martin Speiser veröffentlicht.

Hi Avalon,

> Was sagt den dem DOM-Inspector in der Rubrik "Javascript Objects" zu diesen Objekten?

Hagen muss den IE6 nehmen, keinen Firefox.

Gruß,
Martin

Fehler wegen zu schneller Verarbeitung?

Der folgende Beitrag wurde am 04. 10. 2004, 18:00 Uhr von Louis veröffentlicht.

Hallo

> folgender Code macht mir ziemlich Kopfschmerzen. Wenn ich an der mit !!!! markierten Stelle einen Alert einbau, funktioniert der Code und befüllt die Combo in meinem Hauptfenster und in meinem Popup. Wenn der Alert nicht da ist, wird nur die Combo im Popup richtig befüllt. Sieht einer von euch eine mögliche Fehlerquelle. Ich glaube nämlich nicht an die Sache mit der zu schnellen Verarbeitung, bin aber mit meinem Latein am Ende.

Ich bin auf diesem Gebiet kein Profi, aber ich hatte auch schon das Gefühl, dass sich der Interpreter manchmal "überholt"...
Ich versuchte das zu lösen, indem dort wirklich ein Halt gemacht wird, wie z.B. Dein alert. Du kannst ja auch den unteren Teil in eine separate Funktion und diese window.setTimeout wieder aufrufen, vielleicht geht das.
Aber wie gesagt: es gibt bestimmt bessere, richtigere Lösungen.

Gruss Louis

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4