tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
1390
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    zelium zelium ist offline Mitglied
    Registriert seit
    Jul 2004
    Beiträge
    12
    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!
     

  2. #2
    Avatar von xthetronx
    xthetronx xthetronx ist offline Mitglied Gold
    Registriert seit
    Jan 2002
    Beiträge
    243
    Hi zelium,

    schau mal ob Du mit diesem Code etwas anfangen kannst.

    Gruß

    Torsten

    PHP-Code:
    <!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=100cellpadding=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>&nbspAuswahl 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>
            &
    nbspFeature 2.1</td>
        </
    tr>
        <
    tr
          <
    td></td>
          <
    td>&nbsp;&nbsp
            <
    input type="checkbox" name="af22" value="ON" disabled>
            &
    nbspFeature 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>
            &
    nbspJahr
            <
    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 einund 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>[url]http://www.mywebaid.de[/url]</a><br>
    </center>
    <
    SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript" src="../ms.js">
    <!--
    //-->
    </SCRIPT>

    </body>
    </html> 
     
    http://www.fallen-harlekin.de

  3. #3
    zelium zelium ist offline Mitglied
    Registriert seit
    Jul 2004
    Beiträge
    12
    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?
     

  4. #4
    Registriert seit
    Feb 2002
    Ort
    Österreich | Vorarlberg
    Beiträge
    613
    poste mal was du bisher hast.

    grüße Samuel
     

  5. #5
    zelium zelium ist offline Mitglied
    Registriert seit
    Jul 2004
    Beiträge
    12
    <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.
     

  6. #6
    Registriert seit
    Feb 2002
    Ort
    Österreich | Vorarlberg
    Beiträge
    613
    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
     

  7. #7
    zelium zelium ist offline Mitglied
    Registriert seit
    Jul 2004
    Beiträge
    12
    Beantwortet nicht ganz meine Fragen, aber trotzdem danke.

    Eigentlich habe ich nur den wichtigsten Teil des Codes reingeschrieben.
     

  8. #8
    zelium zelium ist offline Mitglied
    Registriert seit
    Jul 2004
    Beiträge
    12
    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();">
     

  9. #9
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    Folgendes funktioniert:
    PHP-Code:
    <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ß
     

  10. #10
    zelium zelium ist offline Mitglied
    Registriert seit
    Jul 2004
    Beiträge
    12
    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?
     

  11. #11
    zelium zelium ist offline Mitglied
    Registriert seit
    Jul 2004
    Beiträge
    12
    Mein besonderer Dank geht an dieser Stelle an Datic der sich wirklich in die Sache reingehängt und dieses Script entworfen hat!

    So nach langen hinunher - hier ist eine HTML-Version von einem Script das den anderen vielleicht hilft:

    [CODE ]<html>
    <head>
    <meta´s..>

    <script language="javascript">

    function radioAktivieren(obj1, obj2)
    {
    document.getElementById(obj1).disabled=document.getElementById("radiobutton1").checked;
    document.getElementById(obj2).disabled=document.getElementById("radiobutton1").checked;
    }

    </script>

    </head>

    <body>

    <td width="5%" valign="top" height="29"><font face="Arial, Helvetica, sans-serif" size="2">

    <input name="radiobutton" type="radio" id="radiobutton1" onClick="javascript:radioAktivieren('radiobutton20','radiobutton21');" value="x" checked>
    </font></td>

    <td width="29%" valign="top" height="29"><font face="Arial, Helvetica, sans-serif" size="2">Ausgeschaltet<br>
    </font></td>


    <td width="5%" valign="top"><font face="Arial, Helvetica, sans-serif" size="2">

    <input name="radiobutton" type="radio" id="radiobutton2" onClick="javascript:radioAktivieren('radiobutton20','radiobutton21');" value="x">
    Eingeschaltet</font><font face="Arial, Helvetica, sans-serif" size="2"><br>
    </font></td>
    <td valign="top" width="29%">&nbsp;</td>


    <td width="6%" valign="top"><font face="Arial, Helvetica, sans-serif" size="2">
    <input type="radio" name="radiobuttonB" id="radiobutton20" value="Y" disabled="true">
    </font></td>



    <td width="6%" valign="top"><font face="Arial, Helvetica, sans-serif" size="2">
    <input type="radio" name="radiobuttonB" id="radiobutton21" value="Y1" disabled="true">
    </font></td>



    </body>
    </html>
    [/CODE]

    Erklärung: Dieses Script schaltet Radiobuttons ein und aus (je nach dem wie man es braucht).
    Den Rest sieht man glaub´ ich im Code
     

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 18.03.10, 12:31
  2. Antworten: 4
    Letzter Beitrag: 17.03.10, 10:19
  3. (De)Aktivieren von GroupBoxen über RadioButtons
    Von samtrion im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 08.02.10, 18:17
  4. Antworten: 2
    Letzter Beitrag: 02.12.03, 11:36
  5. Submit aktivieren wenn radiobutton markiert ist ...
    Von RonneldMcDonald im Forum Javascript & Ajax
    Antworten: 16
    Letzter Beitrag: 09.10.03, 13:45