radio value auslesen???

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • radio value auslesen???

    hallo!
    ich habe ein script, dass aus formularen bestimmte werte auslesen soll, u.a. aus einem radio "menü". das geht aber nicht mit "variable=document.formular.radio1.value" -> natürlich mit entsprechenden variablen!
    wie ist es möglich den wert trotzdem auszulesen?????
  • try this:

    HTML-Quellcode

    1. <HTML>
    2. <HEAD>
    3. <title>radio test</title>
    4. <script type="text/JavaScript">
    5. function getValue(fieldname) {
    6. var i = 0;
    7. var retVar = '';
    8. for (i = 0; i < document.radioform.elements[fieldname].length; i++) {
    9. if (document.radioform.elements[fieldname][i].checked == true) {
    10. retVar = document.radioform.elements[fieldname][i].value;
    11. }
    12. }
    13. alert('Value is ' + retVar);
    14. return retVar;
    15. }
    16. </script>
    17. </HEAD>
    18. <BODY>
    19. <form name="radioform" action="" enctype="multipart/form-data" method="post">
    20. <input type="radio" name="radiobtn" value="radio01"> radio 01
    21. <input type="radio" name="radiobtn" value="radio02"> radio 02
    22. <input type="radio" name="radiobtn" value="radio03"> radio 03
    23. <input type="button" name="submit" value="getValue" onClick="getValue('radiobtn')">
    24. </form>
    25. </BODY>
    26. </HTML>
    Alles anzeigen


    mit der funktion kannst du natuerlich mehrere radio-gruppen-werte herausfinden! einfach als parameter den radio-gruppen-namen uebergeben! z.b.: getValue('radio-gruppen-name')

    ceeyaa.MeX
  • Also erst mal n1 und big thx an den pRo! Den sourcecode habe ich gesucht und er klappt auch.
    Trotzdem habe ich noch ein paar Fragen, die mir helfen, den Sachverhalt logisch zu verstehen:

    -wozu "fieldname"??? da mich dieser teil verwirrte, hab ich ihn im gesamten code einfach weggelassen und es klappt trotzdem!
    -dazu folgener abschnitt aus dem code, der mich völlig überforderte:
    var i = 0;
    var retVar = '';
    for (i = 0; i < document.radioform.elements.length; i++) {
    if (document.radioform.elements.checked == true) {
    retVar = document.radioform.elements[i].value;
    } // END if
    } // END for
    alert('Value is ' + retVar);
    -->ok, das Funktionsprinzip der for-Schleife konnte ich nachlesen: eine variable (i) wird auf einen Anfangswert (0) gesetzt, der mit jedem Durchlauf erhöht wird.
    aber bei "document.radioform.elements.length" weiss ich nicht mehr, was da am Start ist.
    die der if-abfrage ab"...elements[i].checked==true" ist mir auch völlig schleierhaft.

    wäre dankbar für eine detaillierte funktionsbeschreibung ab der for-schleife und erläuterung zu meinen Fragen.
    mfg pHaRyNx
  • bin noch @work! heute abend bekommst du einen voll ausdokumentierten code!
    musste warten! aber ... vorfreude ist doch die schoenste freude, ned wahr!? ^^

    <EDIT>

    sooooooo ... here we go!
    jetzt sollte alles klar sein! ^^

    ONLINE DEMO: h**p://homepages.at/elscorpio/FSB/formRadioVal.html

    HTML-Quellcode

    1. <HTML>
    2. <HEAD>
    3. <title>radio test</title>
    4. <script type="text/JavaScript">
    5. function getVal() {
    6. var name = document.testform.firstname.value;
    7. var musik = getValRB('musik');
    8. var saufen = getValRB('saufen');
    9. alert(name + ' hoert gerne ' + musik + ' und sauft dabei ' + saufen + '! ,-)');
    10. }
    11. function getValRB(fieldname) {
    12. var i = 0;
    13. var retVar = '';
    14. var fktStr = '';
    15. for (i = 0; i < document.testform.elements[fieldname].length; i++) {
    16. if (document.testform.elements[fieldname][i].checked == true) {
    17. retVar = document.testform.elements[fieldname][i].value;
    18. break;
    19. }
    20. }
    21. fktStr = String(getValRB.caller);
    22. if (fktStr.indexOf("getVal()") == -1) {
    23. alert('Wert ist: ' + retVar);
    24. }
    25. return retVar;
    26. }
    27. </script>
    28. </HEAD>
    29. <BODY>
    30. <form name="testform" action="" enctype="multipart/form-data" method="post">
    31. name: <input type="text" name="firstname" value="MeX"><br /><hr />
    32. musik:
    33. <input type="radio" name="musik" value="pop" checked> pop
    34. <input type="radio" name="musik" value="punk"> punk
    35. <input type="radio" name="musik" value="RnB"> RnB<br /><hr />
    36. saufen:
    37. <input type="radio" name="saufen" value="bier" checked> bier
    38. <input type="radio" name="saufen" value="wein"> wein
    39. <input type="radio" name="saufen" value="spirituosen"> spirituosen
    40. <input type="radio" name="saufen" value="fusel"> fusel<br /><hr/>
    41. auswertung:
    42. <input type="button" name="button" value="musik" onClick="getValRB('musik')">
    43. <input type="button" name="button" value="saufen" onClick="getValRB('saufen')">
    44. <input type="button" name="button" value="ALLES" onClick="getVal()">
    45. </form>
    46. </BODY>
    47. </HTML>
    Alles anzeigen




    </EDIT>


    ceeyaa.MeX
  • danke! hast dir echt mühe gegeben! wenn ichs immer noch nicht checken sollte, poste ich noch mal (unwarscheinlich!).....
    kriegst auf jeden Fall nen Eintrag in meinem Script(source)code.!
    mfg
    pHaRyNx

    ...war mir doch zu verwirrend, habs nicht ganz kapiert und hab dasselbe mit php ghemacht (wesentlich einfacher!)