PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RadioButton onclick auf-/zuklappen


Crystep
02.06.2009, 22:34:40
Hi Leute,

es geht um folgendes.
Ich habe zwei RadioButtons (ja/nein) und ein div Container.
Standartmäßig ist Nein ausgewählt.
Wenn man auf den Ja-RadioButton klickt soll dann das div sichtbar werden, bei nein unsichtbar.

ich habe es so versucht aber es will nicht:


Ja<input type="radio" name="verleihstat" value="ja" onclick="toggleSet()" />
Nein<input type="radio" name="verleihstat" value="nein" checked="checked" onclick="toggleSet()" />

<div id="verleihstat" style="display:none">
PersonID <input type="text" name="person"><br>
DVD <input type="text" name="dvd_exemplar"><br>
Anfangsdatum <input type="text" name="anfangsdat">
Enddatum <input type="text" name="enddat">
</div>



function toggleSet()
{
var type = document.Formular.getElementById("verleihstat");

if (type.style.display == "none"){
type.style.display = "block";
}else{
type.style.display = "none";
}
}


Wie macht man dies richtig?

Indyk
03.06.2009, 10:18:34
Das ist die falsche frage , die frage ist doch eher, was machst du falsch? ( :

a) du versuchst auf eine ID zuzugreifen die es nicht gibt
b) du versuchst über das formular die methode getElementById aufzurufen
c) du vergibst zweimal den selben namen, ich meine das kann nicht funktionieren, bin mir aber nicht sicher.

mit getElementById greift man über das document objekt zu. also:

document.getElementById('ID');

damit hast du aber nur zugriff auf elemente mit einer ID , das hat nichts mit dem name attribut zu tun.

wenn du über die namen zugreifen möchtest, ist der weg schon einmal nicht ganz falsch.
document.formular.NAME , so wäre es richtig, sofern der name denn eindeutig ist, und ich glaube formular müsste entweder der name des formulars sein, oder zumindest müsstest du ein feld ansprechen falls es ein array aller vorhanden formulare ist (auch wenn du nur iens hast!!) z.b. document.formular[0].NAME , müsstest du dich nochmal schlau machen wie genau das jetzt ist.

ach ich merk gerade das du mit getElement an den Div rankommen wolltest. aber wie oben beschrieben greift man direkt über document.getElement.. auf elemente zu. Aber du reagierst in deiner Funktion gar nicht darauf welcher der radio buttons ausgewählt wurde, hättest du nur EINE checkbox die man aus und an machen kann, wäre das toogeln vll. sinnvoll aber bei einer auswahl von ja und nein musst du checken welches ausgewählt wurde, kann ja sein das man zweimal die selbe anklickt.

soo normalerweise bekomme ich mich kürzer gefasst.. wohl noch zu früh für mich.

Crystep
07.06.2009, 18:56:00
Ok besten dank für die Aufklärung und die Hilfe.

Ich habs nun hinbekommen war einfacher als erwartet.