Fehlermeldung: Klasse ist undefiniert. Stimmt aber nicht!

xtramen01

Erfahrenes Mitglied
Hallo nochmal,

kann mir das jemand erklären?
Ich bekomme hier die Fehlermeldung das die Klasse input2 nicht definiert ist.
Also die CSS Klasse welche ersetzt werden soll.

Egal wie ich die CSS Klasse einbinde, ob direkt in der Seite oder in einer externen css Datei.
Ich bekomme immer denselben Fehler. Und die Klasse ist definitiv definiert.
Code:
function setClassName(objId, className) {
    	document.getElementById(objId).className = className;
}
Jemand ne Idee?

Gruss
 
Hallo Sven,

Die genaue Fehlermeldung vom aktuellen Internet Explorer lautet:

Details zum Fehler auf der Webseite

Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET CLR 1.1.4322)
Zeitstempel: Sun, 29 Aug 2010 19:29:20 UTC

Meldung: input2 ist undefiniert
Zeile: 114
Zeichen: 1
Code: 0
URI: http://localhost/mein_kleiner_shop/produkt_details.php?products_id=63{1}1{7}16

Zeile 114 sieht so aus:

HTML:
<input type="text" name="text_id[16]"  id="foo" class="input" maxlength="100" onkeyup="document.getElementById('id[16][]').checked=(this.value.length)? true : false" onchange="setClassName(foo, input2) ;"/>

Und die Funktion steht oben.

Ich versuche schon seit Stunden mir eine Funktion zu basteln, welche überprüft ob das inputfeld leer oder voll ist und mir dann die css Klasse wechselt.
Aber mit Javascript komm ich irgendwie gar nich klar...noch nicht.

Ach und im FF gehts gar ncht.

Gruss
 
Zuletzt bearbeitet:
Ahso,

da wird keine Klasse gesucht, sondern diese beiden Sachen: foo + input2

da werden Variablen gesucht, die diesen Namen tragen, aber keine gefunden.
Du musst die beiden Parameter in Anführungszeichen setzen, damit sie als Zeichenkette angesehen werden:
Code:
onchange="setClassName('foo', 'input2') ;"
 
Zuletzt bearbeitet:
Das hab ich auch schon probiert.
Dann bekomm ich einen anderen Fehler (Objekt erwartet).

Hier mal der PHP Code dazu:

PHP:
$options_value['text_input'] = tep_draw_input_field('text_id['.$products_options['products_options_values_id'].']', $eingabe_text_value, ' id="foo" class="input" maxlength="100" onkeyup="document.getElementById(\'id[' . $products_options['products_options_values_id'] . '][]\').checked=(this.value.length)? true : false" onchange="setClassName(\'foo\', \'input2\') ;"');
 
PHP-Code ist bei JS-Fehlern nichtssagend, entscheidend ist das, was du im Browser unter "Quelltext" siehst.

Die neue Fehlermeldung...wie lautet da der genaue Fehlertext?
 
EDIT: ich bin so doof.

Die Funktion war innerhalb einer anderen JS Klasse definiert. Kein Wunder.

Sorry echt! *auf ar####tritt wart*

Gruss und danke für die Mühe!
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück