Ergebnis 1 bis 5 von 5

Thema: Formular - Radiobutton - JavaScript auswerten

  1. #1
    Mitspieler
    Gast

    Standard Formular - Radiobutton - JavaScript auswerten

    Hallo zusammen,

    ich benötige Eure Hilfe, da ich mit meinem html am Ende bin.
    Ich habe schon ein bsischen "gegooglet" und bei selfhtml nachgeschaut, kann aber leider keine Lösung finden, obwohl das Problem ganz einfach ist.

    Also ich will eine Gruppe von Radiobuttons via JavaScript nachprüfen lassen.
    Eigentlich ganz einfach, aber irgendwie....

    Mein Code:
    Code:
    <script type="text/javascript">
    function check&#40;&#41;
    &#123;
    alert&#40;document.test.gleich.value&#41;;
    &#125;
    </script>
    <form action="" name="test">
    
    
    
    <input type="radio" name="gleich" value="test1"> test1
    
    <input type="radio" name="gleich" value="test"> test2
    
    </p>
    <input type="button" onClick="check&#40;&#41;">
    </form>
    Wenn ich auf den Button klicke kommt statt z.B. test1 immer die Meldung undefined. Was ist bloß falsch? Ich finde des Fehler nicht.

    Danke für Eure Hilfe!

    Mitspieler
    ps: ich habe es auch schon mal mit document.getElementByName(gleich) probiert. geht leider irgendwie auch nicht.
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    versuche es mal mit:

    if(document.test.gleich.checked=true) { alert("checkbox Test ist aktiv"); }

  3. #3
    Mitspieler
    Gast

    Standard

    Hallo GreenRover,

    der von Dir vorgeschlagene Code funktioniert.
    Leider bekomme ich aber so nicht raus, welcher Radiobutton aktiviert wurde. (Außer ich gebe allen unterschiedliche Namen, was ich habe verhindern wollte)

    Ich würde gerne abfragen können, welcher Radiobutton angeklickt wurde.
    Also wenn ich beim oben genannten Code test1 anklicke soll test1 ausgeben werden und wenn man test2 anwählt test.

    Trotzdem vielen Dank für Deine Mühe
    Mitspieler

  4. #4
    Forum Guru
    Registriert seit
    14.06.2004
    Ort
    Schleswig-Holstein
    Beiträge
    5.439
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Re: Formular - Radiobutton - JavaScript auswerten

    Moin!

    Um es gleich vorweg zu nehmen: so wie du es dir vorstellst geht es leider nicht.
    Aber Schritt für Schritt zu einer Lösung:

    1.
    Zitat Zitat von Mitspieler
    ps: ich habe es auch schon mal mit document.getElementByName(gleich) probiert. geht leider irgendwie auch nicht.
    Das kann auch nicht gehen, da die Syntax falsch ist, richtig wäre:
    • document.getElementsByName("gleich")[0] .value


    Damit kannst du allerdings lediglich das vorgegebene Value eines Radiobutton, abfragen - die "[0]" steht für den ersten Button.

    An dieser Stelle schnell einmal etwas grundsätzliches zu Radiobutton:
    Entgegen aller anderen Formularfelder und Button haben Radiobutton ständig den fest vorgegebenen Wert. Der steht im Quelltext und ist auch nicht veränderbar, d.h. wie auch immer du ein value des 1. Radiobutton abfragst, es ist der Wert der im Quelltetxt steht. Gleiches gilt auch für die folgenden Radiobutton mit dem gleichen Bezeichner, auch sie haben einen festen vorgegebenen Wert und eine Value-Abfrage übergibt immer nur ein Stückchen Quelltext aus deim HTML.
    Erst wenn das Formular versendet wird, kommt der Browser in einen Konflikt: er soll dem Bezeichner/der Variable (bei dir ist es "gleich") einen Wert mitgeben, also nimmt er den Wert mit, der bei dem ausgewählten Radiobutton im value steht. Einer Auswertung mittels PHP steht somit also nichts im Wege - nur mit Javascript geht es eben nicht, keine chance.

    Das einzige was Radiobutton mit dem gleichen Bezeichner unterscheidet, ist daß max. einer von ihnen aktiviert sein kann. Hast du nun immer nur paarweise Radiobutton, so könntest du mit Javasscript einfach abfragen, ob Button 1 ausgewählt wurde:
    Code:
    alert&#40;document.getElementsByName&#40;"gleich"&#41;&#91;0&#93;.checked&#41;
    Das Alert gibt in diesem Fall ein "true" oder ein "false" aus, je nachdem, ob der Button angeklickt ist oder nicht. Jetzt könnte man bei nur zwei Button daraus schließen, daß wenn der erste aktiveiert ist, der zweite es dann nicht sein kann - und natürlich umgekehrt. Das geht aber nur, wenn man bereits beim laden des Quelltextes einem Radiobutton eine "checked" beiordnet, andernfalls sind sagt das "false" bei der Abfrage ja nicht aus, ob der andere Button dafür aktiviert wurde.

    Bei mehr als 2 Button wird es dann problematisch und du kommst um mehrere Abfragen (ggf. eine Schleife) nicht herum.
    Wenn du deine Radiobutton unbedingt mit Javascript überwachen willst, dann kannst du dir eine Hilfsvariable setzen und diese bei jedem anklicken mit dem value des Button füttern, z.B. so:
    Code:
    <script type="text/javascript">
    
    var gleich_v = "";
    
    function check&#40;&#41;
      &#123;
      alert&#40;gleich_v&#41;;
      &#125;
    function zuordnen&#40;val&#41;
      &#123;
      gleich_v = val;
      &#125;
    
    </script>
    </body>
    
    
    <form action="" name="test">
    
    
    
    <input type="radio" name="gleich" value="test1" onClick="zuordnen&#40;this.value&#41;"> test1
    
    <input type="radio" name="gleich" value="test2" onClick="zuordnen&#40;this.value&#41;"> test2
    
    <input type="radio" name="gleich" value="test3" onClick="zuordnen&#40;this.value&#41;"> test3
    
    <input type="radio" name="gleich" value="hier steht nur Mist" onClick="zuordnen&#40;this.value&#41;"> hier steht nur Mist
    
    </p>
    <input type="button" onClick="check&#40;&#41;">
    </form>
    Statt <input type="button" onClick="check()"> kannst du dann natürlichauch gleich <input type="button" onClick="alert(gleich_v)"> nehmen.

    Bei mehr als 2 Radiobutton ist das ganze relativ aufwendig und wahrscheinlich ist es einfacher, die Überprüfung über das PHP-Script zu machen und ggf. zum Eingabeformular zurück zu werfen, falls etwas fehlt.
    Allerdings braucht man das Script bei mehreren Bezeichnern nicht immer wieder neu schreiben, man kann ja den Bezeichner oder ein Steuerzeichen (z.B. eine Zahl) mit übergeben, womit dann den Wert der richtigen Hilfs-Variablen zugewiesen wird.

    Das aber dann im nächsten Kapiitel

    Ich hoffe es hilft dir etwas,

    G.a.d.M.

    ronald

  5. #5
    Gast

    Standard

    WOW!
    Vielen Dank für die schnelle und vor allen sehr ausführliche Hilfe!

    Das hat mir wirklich sehr geholfen.

    Viele Grüße und Danke für Eure Zeit
    Mitspieler

Ähnliche Themen

  1. Datei in HTML-Dokument anzeigen und mit JavaScript auswerten
    Von Jessica Heinze im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 6
    Letzter Beitrag: 14.04.2007, 16:05
  2. HTML Formular mit Python auswerten und Werte via Mail senden
    Von Plone_N00b im Forum Zope & Plone - das deutsche Hilfeforum
    Antworten: 2
    Letzter Beitrag: 02.03.2007, 13:25
  3. Radiobutton per JavaScript selectieren
    Von Fire im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 15
    Letzter Beitrag: 20.11.2006, 18:01
  4. Formular mit JavaScript
    Von IT im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 25.10.2005, 11:11
  5. Formular ohne php, css, java, javascript, etc.
    Von FR0SCH im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 03.03.2005, 10:54

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •