• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Value if Radio Button checked...

broken beatz

New member
...der Titel sagt es bereits ein wenig...
Hallo erst einmal,

folgendes Problem:
Ich habe ein Angebotsformular, in dem in drei Spalten Werte einzutragen sind, die sich am Ende summieren.
Diese drei Spalten sind Angebot 1-3 und die Summen und andere Werte des Formulars sollen an weiterer Stelle noch einmal wieder gegeben werden, wenn der entsprechende Radiobutton bei Angebot 1, 2 oder 3 aktiviert ist.
Hier mein derzeitiger Versuch, der aber irgendwie überhaupt nicht funzt...
Code:
function rate24() {

    var button1 = document.getElementById("input_radio_5_0");
    var button2 = document.getElementById("input_radio_5_1");
    var button2 = document.getElementById("input_radio_5_2");

    if (button1.checked) {
        document.getElementById("rate24").innerHTML = "{rate1}";
    } else if (button2.checked) {
        document.getElementById("rate24").innerHTML = "{rate2}";
    } else if (button3.checked) {
        document.getElementById("rate24").innerHTML = "{rate3}";
    }
}
und hier der etwas unordentliche Versuch in Html:
HTML:
<form id="user_form" method="post">
    <div class="ccms_form_element cfdiv_radio" id="erstbrille_container_div" style="text-align:left;"> <span id="angebot_div">
    <label for="erstbrille">Erstbrille auswählen</label>
    <input type="hidden" name="input_radio_5" value="" alt="ghost" />
	</span>

        <div style="float:left; clear:none;"> <span id="angebot_div">
          <input type="radio" name="input_radio_5" id="input_radio_5_0" title="" value="Angebot 1" class="" onClick="rate_24()" />
          <label for="input_radio_5_0" style="margin-right: 68px;">Angebot 1</label>
          <input type="radio" name="input_radio_5" id="input_radio_5_1" title="" value="Angebot 2" class="" onClick="rate_24()" />
          <label for="input_radio_5_1"style="margin-right: 73px;">Angebot 2</label>
          <input type="radio" name="input_radio_5" id="input_radio_5_2" title="" value="Angebot 3" class="" onClick="rate_24()" />
          <label for="input_radio_5_2">Angebot 3</label>
        </span>
        </div>
        <div class="clear"></div>
        <div id="error-message-input_radio_5"></div>
    </div>
    <div class="ccms_form_element cfdiv_text multiline_add" id="rate24" style=""> <span style="font-size: 10pt; font-family: arial,helvetica,sans-serif;">
   <input id="rate24" class="" type="text" readonly name="rate24" value="" title="" size="30" maxlength="150" style="width: 128px; padding-top: 0px; padding-bottom: 0px; margin-bottom: 0px; border-bottom-width: 0px; border-top-width: 0px; height: 19px;">
    </span>

        <div class="clear"></div>
        <div id="error-message-rate24"></div>
    </div>
</form>

Leider kann ich den Fehler nicht finden, mein Javascript finde ich eigentlich schlüssig, was aber nicht wirklich etwas heißt ;-)

Danke euch,

Broken Beatz
 
Zuletzt bearbeitet:
Du hast einen Fehler in der Fehlerkonsole...

Auch hat ein <input> keine Kinderelemente und deswegen kein .innerHTML. Du musst da in .value reinschreiben.

PS: es heißt onclick - alles klein.
PPS: in JS werden Funktionen meistens im camelCase und nicht mit Unterstrich geschrieben.
 
Hallo kkapsner,
schon einige Posts bei der Lösungssuche von Dir gelesen...
Den Code habe ich wie folgt geändert, bei JSFiddle keine Probleme, aber es funzt immer noch nicht:
Code:
function rate24() {

    var button1 = document.getElementById('input_radio_5_0');
    var button2 = document.getElementById("input_radio_5_1");
    var button3 = document.getElementById("input_radio_5_2");

    if (button1.checked === true) {
        document.getElementById('rate24').value = "{rate1}";
    } else if (button2.checked === true) {
        document.getElementById('rate24').value = "{rate2}";
    } else if (button3.checked === true) {
        document.getElementById('rate24').value = "{rate3}";
    }
}

In der FF Fehlerkonsole werden keine Fehler angezeigt...:-(
Aber in der Konsole vom Firebug: ReferenceError: button3 is not defined


else if (button3.checked) {

Leider hilft mir das grad nicht weiter, kann mir jemand den Fehler erklären?

Ergänzung: Im Firebug wird bei JSFiddle noch folgender Fehler ausgegeben: TypeError: rate24 is not a function
 
Zuletzt bearbeitet:
Kannst du mal den Link zum JSFiddle geben - sehe den verbleibenden Fehler gerade nicht.

PS: die "=== true" sind überflüssig.
 
Hallo,

so, nun habe ich doch noch was gefunden:
Wenn ich ein ausgefülltes Formular, mit Auswahl des Angebotes, nach dem speichern erneut öffne, ist der zurück gegebene Wert aus if (button"Angebot 1".checked === true) {
document.getElementById('XYZ').value = "12345"; leider nicht mehr gespeichert, ich muß erst erneut den Radio Button betätigen, damit wieder werte angezeigt werden. Liegt dies am onclick? Was wäre eine Alternative?

Danke,

Broken Beatz
 
Zurück
Oben