WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   JavaScript Seltsamer Fehler (http://www.wcm.at/forum/showthread.php?t=103479)

jak 23.07.2003 21:36

JavaScript Seltsamer Fehler
 
Siehe auch Attachment (wieder in.htm zurückbenennen).

Worum es geht: Eine JS Funktion sucht aus einer Tabelle eMail Adressaten heraus. Wenn allerdings irgendwo in der eMailadresse ein "on" vorkommt stolpert das Script. Ohne irgendeine Fehlermeldung hört es einnfach auf.
Wenn das "on" im Namen steckt gehts.
Im Attachment ist ein Beispiel, hier nur der code der funktion:
Code:

function adressaten()
{
var abk=document.forms[0];
abk.an.value="", abk.namen_an.value="";

for (var i = 1; i < abk.elements.length; i++)
 {
 var pos=abk.elements[i];
 if ( (pos.name.indexOf('an_')==0) && pos.checked && (abk.an.value.indexOf(pos.value)==-1))
  {
  if (abk.an.value == "")
  {
  abk.an.value = abk.elements[i-1].value;
  abk.namen_an.value = abk.elements[i-1].name;
  }
  else
  {
  abk.an.value = abk.an.value + ";" + abk.elements[i-1].value;
  abk.namen_an.value = abk.namen_an.value + "; " + abk.elements[i-1].name;
  }
  }
 }
}


Bin schon ziemlich verzweifelt
Jak

snowman 23.07.2003 22:05

also bei mir funkts. probier mal einen anderen browser.

gruss,
snowman

jak 24.07.2003 08:46

Auf IE 5.5 & 6.0 gehts nicht.
Und ich kann halt leider nicht allen Leuten sagen: Bei mir gehts, verwendets einen gscheiten Browser.
Welchen verwendest du?

Jak

snowman 24.07.2003 10:45

ich habs nicht genügend austestet gehabt und versteh den fehler jetzt erst richtig. funkt bei mir auch nicht.

gruss,
snowman

jak 24.07.2003 10:52

Das ist ja das tückische an der Sache.
Es schaut so aus als ob es funktionieren würde, es geht aber nicht. Wenn statt zwanzig Adressaten nur 15 da sind fällt es kaum auf.
Ich habe selber ziemlich lang gebraucht bis ich draufgekommen bin, das es am "on" liegt.
Wäre interessant ob es mit opera/mozilla oder sonstigen Browsern geht.

Jak

snowman 24.07.2003 12:43

in opera 6.01 und mozilla-firebird 0.6 gehts auch nicht.

gruss,
snowman

jak 28.07.2003 13:43

Also hat niemand eine Ahnung?
Nettes Detail am Rande: Wenn ich das ganze in ein Array schreibe gehts, mit einer Textarea auch. nur das <input> wehrt sich.
Naja, seltsamer Bug. Wenn wer weis worans liegen könnte bitte posten, sonst werd ichs halt anders lösen.

Jak

flinx 28.07.2003 15:20

Kenn mich nicht so gut aus, aber die Abfrage 'abk.an.value.indexOf(pos.value)==-1' scheint unkorrekt zu sein, da 'pos.value'=on ist. Nach dem ersten Eintrag mit 'on' ist indexOf nicht mehr -1. Wenn du die Bedingung entfernst, funktionierts.

jak 28.07.2003 15:40

Die Abfrage dient dazu doppelte Einträge zu vermeiden. Ich möchte sie daher eigentlich nicht entfernen (Es sei denn jemand kennt eine Alternative).
pos.value ist nicht nur on, sondern z.B. user@aon.at.
Ich verstehe zwar nicht ganz was du meinst, du dürftest aber recht haben. Bei meine Versuchen mit arrays und textareas habe ich auf diese Abfrage nämlich vergessen.

Nach dem ersten mal wo indexof<>-1 ist müsste das Script aber trotzdem weitermachen. Bei der nächsten Abfrage hätte es dann irgendeinen anderen Wert.

Jak

flinx 28.07.2003 15:44

Zitat:

pos.value ist nicht nur on, sondern z.B. user@aon.at
Wie gesagt, ich kenn mich nicht so gut aus, habs mir nur mit alert ausgeben lassen und es war immer nur 'on' kein anderer Wert.
Zitat:

indexof<>-1 ist müsste das Script aber trotzdem weitermachen.
Skript macht ja weiter, aber die if-Bedingung ist nicht mehr erfüllt, wenn pos.value den Wert 'on' hat und ein 'on' im String vorkommt.


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:36 Uhr.

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