Das Aktivieren eines Radiobuttons von einem Radiobutton bevor abhängig machen.

zelium

Grünschnabel
Hallo, ich suche eine Möglichkeit durch anklicken eines Radiobuttons einen auf "disabled=true" gesetzen Radiobutton wieder aktiv zu machen. Habe mit verschiedenen Sachen probiert die ich u.A. auch hier in den Foren gesehen habe (am Bsp. vom Textfeld) hat aber nicht wirkich funktioniert :(

Weiss einer Bescheid? Ist es überhaupt möglich?

Bin für jeden Tip dankbar!
 
Hi zelium,

schau mal ob Du mit diesem Code etwas anfangen kannst.

Gruß

Torsten

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<link rel="stylesheet" href="hp_mm.css" type="text/css">
<html>
<head>
	<title>Intelligentes Formular</title>
</head>

<body>
<b>Intelligentes Formular</b>
<p><table width=100% cellpadding=0 cellspacing=0 border=0><tr><td valign=top><table border="0" width="100%">
  <form action="" method="post">
    <tr> 
      <td align="right"> 
        <input type="checkbox" name="a1" value="ON" checked>
      </td>
      <td>&nbsp; Auswahl 1</td>
    </tr>
    <tr> 
      <td align="right"> 
        <input type="checkbox" name="a2" value="ON"          
                           onpropertychange="
                           af21.setAttribute('disabled', !getAttribute('checked')),
                           af22.setAttribute('disabled', !getAttribute('checked')),
                           ua1.setAttribute('disabled', !getAttribute('checked')),
                           fYear.setAttribute('disabled', !getAttribute('checked')),
                           fMon.setAttribute('disabled', !getAttribute('checked')),
                           fDay.setAttribute('disabled', !getAttribute('checked')),
                           fHour.setAttribute('disabled', !getAttribute('checked')),
                           fMin.setAttribute('disabled', !getAttribute('checked')),
                           fSec.setAttribute('disabled', !getAttribute('checked'))">
      </td>
      <td>&nbsp;&nbsp;Auswahl 2</td>
    </tr>
    <tr> 
      <td></td>
      <td>&nbsp;&nbsp; 
        <input type="checkbox" name="af21" value="ON" disabled>
        &nbsp; Feature 2.1</td>
    </tr>
    <tr> 
      <td></td>
      <td>&nbsp;&nbsp; 
        <input type="checkbox" name="af22" value="ON" disabled>
        &nbsp; Feature 2.2</td>
    </tr>
    <tr> 
      <td></td>
      <td> <fieldset> 
        <input type="radio" name="R1" value="create_date" checked>
        erstellt oder 
        <input type="radio" name="R1" value="last_modified">
        bearbeitet&nbsp;&nbsp;&nbsp; 
        <input type="radio" name="R2" value="< " checked>
        vor oder 
        <input type="radio" name="R2" value="> ">
        nach<br>
        &nbsp; Jahr: 
        <input type="text" name="fYear" size="4" maxlength="4" value= "2002"disabled>
        Monat: 
        <input type="text" name="fMon" size="2" maxlength="2" value= "02"disabled>
        Tag: 
        <input type="text" name="fDay" size="2" maxlength="2" value= "26"disabled>
        &nbsp;, HH: 
        <input type="text" name="fHour" size="2" maxlength="2" value= "15"disabled>
        MM: 
        <input type="text" name="fMin" size="2" maxlength="2" value= "57"disabled>
        SS: 
        <input type="text" name="fSec" size="2" maxlength="2" value= "00"disabled>
        </fieldset> </td>
    </tr>
    <tr> 
      <td></td>
      <td>&nbsp;&nbsp; 
        <input type="checkbox" name="ua1" value="ON"  disabled>
        Unterauswahl 1</td>
    </tr>
    <tr> 
      <td colspan=2> 
        <input name="weg" type="submit" value="weg damit!">
        <input type="hidden" name="Pg_reused" value="1">
      </td>
  </form>
</table>
<p>Hierbei werden bestimmte Eingabemöglichkeiten in Abhängigkeit von einer Checkbox ein- und ausgeblendet.
<p>
<form>
<input type="button" value="Quelltext" onclick='window.location = "view-source:" + window.location.href'>
</form>
</td>
<td>&nbsp;</td>
<td valign=top>
</td>
</tr></table>
<p>
<br><hr align="center" size="1" width="50%">
<center>
meine eMail: <a href="mailto:js@webaid.de" class=linkint>js@webaid.de</a><br>
meine Homepage: <a href="http://www.mywebaid.de" target="_top" class=linkint>http://www.mywebaid.de</a><br>
</center>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript" src="../ms.js">
<!--
//-->
</SCRIPT>

</body>
</html>
 
Danke xthetronx für deine Antwort.
Leider hat es nicht funktioniert :(
Die "disabled"-Buttons bleiben grau und unten im Browser kommt das ständige
"Fehler auf der Seite" .

Ich hätte eigentlich mehr an einen JScript gedacht, etwa sowas:

<script language="javascript" type="text/javascript">

function radioAktivieren()
{
if(document.form.radiobutton.checked)
{
document.form.radiobutton10.checked=true;
}
else
{
document.form.radiobutton10.checked=false;
}
}

und bei den nötigen Radio´s dann den Funktionsaufruf mittels "onClick" durchführen.
Problem dabei: Das Script wird ausgeführt und es kommt keine Fehlermeldung ABER die Radiobuttons ändern sich auch nicht :(

Woran könnte es liegen? Im Formular gibt´s auch noch mehr Radiobuttons - aber das sollte eigentlich nicht stören.. Die sind ja nicht mitimplementiert..

Soll ich da vielleicht irgendwelche Parameter bei der Funktion selbst übergeben, wenn - ja die Value-Parameter?
 
<head>
<script language="javascript" type="text/javascript">

function radioAktivieren()
{
if(document.form.radiobutton1.checked)
{
document.form.radiobutton10.disabled=false;
}
else
{
document.form.radiobutton10.disabled=true;
}
}
</script>

<body>

<input type="radio" name="radiobutton1" value="x1" >
<input type="radio" name="radiobutton1" value="x2" >

<input type="radio" name="radiobutton10" value="y1" disabled="disabled" onClick="javascript:radioAktivieren();">

<input type="radio" name="radiobutton10" value="y2" disabled="disabled" onClick="javascript:radioAktivieren();">
</body>

Erkärung:

ich habe es mir so gedacht: erst wenn man den Radiobutton 'radiobutton1' angeklickt hat, wird erst der Radiobutton 'radiobutton10' auf disabled=false gesetzt. Ansonten soll er ausgegraut bleiben.
 
Achte bitte auf:
  • DOCTYPE
  • HTML-Tags (oben & unten)
  • FORM-Tag
  • language="JavaScript" ist nicht nötig
  • Das wenn Inputfelder die selben Namen haben JavaScript sie als Array behandelt.
  • einrücken :)

grüße Samuel
 
Beantwortet nicht ganz meine Fragen, aber trotzdem danke. ;)

Eigentlich habe ich nur den wichtigsten Teil des Codes reingeschrieben.
 
weiss noch jemand Rat?

Kann mir sonst jemand helfen? Sieht jemand spontan einen Fehler in diesem Skript:

<script language="javascript" type="text/javascript">
function radioAktivieren()
{
if(document.form.a.checked)
{
document.form.z.disabled=false;
}
else
{
document.form.z.disabled=true;
}
}
</script>

Aufruf im Body durch:

<input type="radio" id="a" name="a" value="bla" onClick="javascript:radioAktivieren();">
 
Hi,

Folgendes funktioniert:
PHP:
<script language="javascript" type="text/javascript">

function radioAktivieren()
{
if(document.getElementById("radio1").checked)
{
document.getElementById("radio2").disabled=false;
}
else
{
document.getElementById("radio2").disabled=true;
}
}
</script>

<body>
<input type="radio" name="radio1" value="x1" onClick="radioAktivieren()">
<input type="radio" name="radio2" value="y1" disabled="disabled">
</body>
Da der Button ja ferngesteuert werden soll, nehme ich an, dass das OnClick-Ereignis in den aktivierten Button gehört.
Zudem hattest Du in der JS-Funktion ein Formular angegeben - auf der Seite was allerdings kein Formular zu sehen.
"getElementById()" hat sich bei mit bislang als die zuverlässigste Methode erwiesen, Objekte im Dokument anzusprechen. ;)

Gruß
 
Du hast mich durchschaut ;)

Es funktioniert wunderprächtig! Nur ein Problem noch: ich habe insgesamt 4 Radiobuttons mit verschiedenen values. [radio1, value="x"; radio2, value="x1"; radio3, value="y"; radio4, value="y1";
Zwei davon(radio1, radio2; aktiv) aktivieren die anderen zwei(radio3, radio4; disabled).
So wie es jetzt ist wird nur der dritte durch den ersten aktiviert [selbstverständlich]

Ich möchte das radio1 den radio3 und radio2 den radio4 aktivieren.

Ist es irgendwie über die Values zu erreichen? Wenn ja wie?
 

Neue Beiträge

Zurück