Radiobutton per JavaScript selectieren

  • Welchen Befehl muss ich denn benutzen, um einen Radiobutton zu selektieren? Probiert habe ich:

    Code
    document.form.radiobutton.select;


    Geht aber leider nicht.

    Gibt es eigentlich so eine Art Objekt-Referenz?

    Es ist sehr einfach, ein Programm zu schreiben, das innerhalb kürzester Zeit und mit wenig Speicherplatzbedarf ein vorgegebenes Problem NICHT löst.

    Der Computer rechnet vor allem damit, dass der Mensch denkt.

  • Das hört sich gut an.
    Werde es gleich ausprobieren.

    THX

    OK. Hat funktioniert. Musste nur eine Kleinigkeit hinzufügen, damit der richtige Radiobutton selektiert ist.

    Code
    document.form.radiobutton[2].checked = true;

    Bis die Tage.
    Gruß, Fire

    Es ist sehr einfach, ein Programm zu schreiben, das innerhalb kürzester Zeit und mit wenig Speicherplatzbedarf ein vorgegebenes Problem NICHT löst.

    Der Computer rechnet vor allem damit, dass der Mensch denkt.

  • Hallo!

    Ich habe ein ganz ähnliches Problem.

    Das was ich mir aus den Infos dieses Threads zurecht gebastelt habe funzt aber natürlich nicht... :(

    Ich möchte ein Formular mit mehreren Radiobuttons erstellen.
    Dieses soll von verschiedenen Orten aus aufzurufen sein.
    Je nach dem von wo, soll ein anderer Radiobutton selektiert sein.


    Der relevante Bereich der Formulars:


    Aufgerufen wird das Formular z.B. über eine sensitive Grafik (aus der selben Html-Datei).

    Als JavaScript-Rookie hab ichs mal so probiert:

    Code
    (...)
    
    
       <map name="schulternaturmail">
            <area shape="rect" href="#mail" coords="0,8,30,40" id="test" title="" onclick="document.form.variante1.checked = true; ">
       </map>
    
    
    (...)

    Natürlich funktioniert das von mir zusammengeflickte nicht...

    Kann mir da jemand weiter helfen ???


    LG,

    Rolfsen

  • Moin!

    Probiere es mal so:

    Code
    (...)
    
    
       <map name="schulternaturmail">
            <area shape="rect" href="#mail" coords="0,8,30,40" title="" onclick="document.getElementById("variante1").checked = true; ">
       </map>
    
    
    (...)

    Alternativ:

    Code
    (...)
    
    
       <map name="schulternaturmail">
            <area shape="rect" href="#mail" coords="0,8,30,40"title="" onclick="document.form.variante[0].checked = true; ">
       </map>
    
    
    (...)


    Anmerkung: eine ID ist ein Anker und hat in einem Area-Tag keine Funktion, sie erzeugt dort nur fehlerhaftes HTML.

    G.a.d.M.

    Ronald

  • Tach Ronald,

    wieder einmal vielen Dank für deine schnelle Unterstützung!

    Ich hab beide deiner Vorschläge probiert.
    Leider krieg ich beides net zum laufen.

    unter http://www.natur-und-endspannung-pur.de/angebotetest.htm

    bzw.

    unter http://www.natur-und-endspannung-pur.de/subtesttest.htm

    habe ich beide Varianten eingebaut
    (Im Bereich "Schulter und Nacken" die Bleistifte jeweils neben "Natur" und "Entspannung").


    Bestimmt hackt es nur an einem Detail (wie so oft).
    Hätte ich u. U. noch etwas in den Header setzen müssen, damit "GetElementById" und Co. funktionieren?!


    Schöne Sonntagsgrüße,

    Rolfsen

  • Hallo Ronald,

    die eine Seite ist in die andere eingebettet. Daher habe ich beide URLs angegeben.

    Mein Problem ist jedoch nur in
    http://www.natur-und-entspannung-pur.de/subtexttest.htm
    zu finden.


    In dieser (Test-) Seite ist eine Tabelle mit Grafiken zu finden.

    Wenn einer der "Bleistifte" angeklickt wird, soll zum Formular am Ende der Seite gesprungen werden.
    Je nach dem welcher der "Bleistifte" angeklickt wurde, soll dann ein anderer Radiobutton im Mailformular selektiert sein.

    Bisher sträuben sie sich jedoch hartnäckig dagegen...


    LG,

    Rolfsen

  • Zitat von Rolfsen

    Bisher sträuben sie sich jedoch hartnäckig dagegen...

    Kein Wunder:

    Code
    onclick="document.getElementById("variante2").checked = true;"


    Du kannst keine doppelten Anführungszeichen innerhalb eines mit doppelten Anführungszeichen gezeichneten Strings verwenden. Du mußt die Anführungszeichen dann entweder maskieren(\") oder einfache Anführungszeichen verwenden.

    Versuche es mal so:

    Code
    onclick="document.getElementById('variante2').checked = true;"

    G.a.d.M.

    Ronald

  • Super! Das war's schon.
    Hab ja schon geahnt, dass es an einer Kleinigkeit liegt.
    Aber so klein... :lol:


    Variante 1 läuft also.
    Aber wie schaut es mit der anderen, unter Umständen "sauberen" Lösung, ohne ID aus ?

  • Da mußt du die Radiobutton dann zählen, in der Reihenfolge wie sie im Quelltext vorkommen. Setzt du etwas im Quelltext um, mußt du u.U. auch alle JS-Verweise umschreibe. Das kann viel Aufwendiger und auch fehlerbehafteter werden.

    Der erste im Quelltext benannte Radiobutton mit gleichem Namen hat die Nummer null, der zweite die 1, usw.:

    Code
    onclick="document.getElementsByName('variante')[x].checked = true;"


    Für das x mußt du die entsprechende Nummer in die eckige Klammer eintragen.

    Die ID-Variante ist aber die sauberere und sicherere Lösung.

    G.a.d.M.

    Ronald