Text Eingabefelder ausblenden

redX

Erfahrenes Mitglied
Hallo

Ich muss beim Aufruf der Seite alle "text" Input Felder ausblenden (werden später wieder eingeblendet). Habe das Folgendermassen gemacht (ich arbeite mit Prototype):

Javascript:
Event.observe(window, 'load', function() {
	$A($('content').getElementsByTagName('input')).each(function(e) {
		alert(e.attributes[0].nodeValue);
		if (e.attributes[0].nodeValue == 'text') {alert('in');
			//$($(e.parentNode).parentNode).style.display='none';
			e.parentNode.parentNode.hide();
		}
	});
});


Das ganze funktioniert im FireFox, aber im IE nicht.
Die Funktion "function(e)" wird korrekt aufgerufen. Im IE ist aber e.attributes[0].nodeValue leer und e.attributes.length gibt mir 108 zurück.

Kann mir jemand sagen was ich hier falsch mache?

MFG
X
 
Lt. SelfHTML werden im IE bei attributes nicht die tatsächlich gesetzen, sondern die theoretisch verfügbaren geliefert....ist also unbrauchbar für dich.
Stattdessen könntest du direkt die type-Eigenschaft der inputs abfragen.
 
Hmm... drecks IE. Aber danke für die Info. Habs so gemacht und das geht:

Javascript:
	$A($('content').getElementsByTagName('input')).each(function(e) {
		if (e.getAttribute('type') == 'text') {
			$($(e.parentNode).parentNode).style.display='none';
		}
	});

Ist auch viel schöner so.

Herzlichen Dank!
X
 

Neue Beiträge

Zurück