EKKi: Fieldset - Inhalt ein-/ausblenden

Beitrag lesen

Mahlzeit Katlana,

Kann mir jemand weiterhelfen und sagen, wo der Fehler ist, bzw. wie ich diesen beheben kann?

Ja.

<fieldset name="fldDetailsBeschreibung" style="width:300px">
<legend onclick="ZeigeDetailsBeschreibung();">Beschreibung</legend>

Generell würde ich Dir empfehlen, bei derartig "allgemeinen" Funktionen eine Referenz auf das aktuelle Element als Parameter mitzugeben. Warum? Siehe weiter unten ...

function ZeigeDetailsBeschreibung()
{

set(document.forms["Beschreibung"].elements["chkBeschreibung"]= 'true';

Hättest Du der Funktion eine Referenz auf das http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#legend@title=legend-Element als Parameter mitgegeben (s.o.), könntest Du einfach über dessen http://de.selfhtml.org/javascript/objekte/elements.htm#form@title=form-Eigenschaft auf das umgebende Formular zugreifen und spartest Dir den ersten Teil der obigen Code-Zeile.

Der Rest ist allerdings auch nicht viel richtiger - Du willst wirklich einem Elementobjekt den String 'true' zuweisen? Möchtest Du nicht viel lieber seine http://de.selfhtml.org/javascript/objekte/elements.htm#checked@title=checked-Eigenschaft auf true setzen?

if (document.forms["Beschreibung"].elements["chkBeschreibung"].checked){

Ah, Du kannst das ja doch. Aber wenn Du oben das Element explizit auf "angekreuzt" setzt, musst Du das hier doch nicht mehr abfragen???

document.forms["Beschreibung"].elements["fldDetailsBeschreibung"].div.style.display =

'block';

Wie LX bereits schrieb, geht das so nicht. Ein Formularelement hat keine Eigenschaft namens "div". Du kannst allerdings unterhalb des entsprechenden Formularelements <http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_tag_name@title=nach einem <div>-Element suchen> oder Dir <http://de.selfhtml.org/javascript/objekte/node.htm#child_nodes@title=alle seine Kindobjekte> ausgeben lassen.

MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|