tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
1327
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von sugar
    sugar sugar ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    162
    Hallo zusammen,

    habe folgendes Problem, ich habe ein Formular bei dem ich mehrere Felder zusammenrechnen möchte. Mit den Textfeldern war es kein Problem aber jetzt habe ich zwei Radiobuttons die natürlich den gleichen Namen haben aber einen unterschiedlichen Wert. Nun soll geprüft werden welcher von beiden angeklickt ist und diesem dann den entsprechenden Wert zuweisen. So wie unten im Beispiel rechnet er einfach alles zusammen.
    Hat jemand eine Idee?

    function summeTotal(){
    var anzahlA = 0;
    var anzahlB = 0;
    var anzahlE = 0;
    var gPreis = 0;

    with(window.document.accform){

    if(participant_fees.value="participant_before_15"){
    anzahlA = 200;
    }else{
    anzahlA = 0;
    }

    if(participant_fees.value="participant_from_16"){
    anzahlB = 250;
    }else{
    anzahlB = 0;
    }

    if(vouchers_total.value==''){
    anzahlE = 0;
    }else{
    anzahlE = vouchers_total.value;
    }

    gPreis = parseInt(anzahlA)+parseInt(anzahlB)+parseInt(anzahlE);
    total_euro.value = gPreis;
    }
    }
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    So ala:
    Code :
    1
    2
    3
    4
    5
    
    for(i=0;i<document.formularname.radiobuttonsname.length;++i)
    {
    if(document.formularname.radiobuttonsname[i].checked)
    {document.formularname.radiobuttonsname[i].value='ich bin gecheckt';}
    }

    Radiobuttons mit identischem Namen sind in einem Array ansprechbar... den musst du durchlaufen, und checken, ob das jeweilige Element gecheckt ist.
     

  3. #3
    Avatar von sugar
    sugar sugar ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    162
    Ehrlich gesagt verstehe ich das nicht so ganz

    Ich habe jetzt folgendes gefunden und ausprobiert aber leider bekomme ich immer eine Fehlermeldung:

    function summeTotal(){
    var anzahlA = 0;
    var anzahlB = 0;
    var anzahlC = 0;
    var anzahlD = 0;
    var anzahlE = 0;
    var gPreis = 0;

    with(window.document.accform){

    if(vouchers_total.value==''){
    anzahlE = 0;
    }else{
    anzahlE = vouchers_total.value;
    }

    if (document.getElementsByName("participant_fees")[0].checked = true;{
    anzahlA = 200;
    }else if
    (document.getElementsByName("participant_fees")[1].checked = true;{
    anzahlB = 250;
    }

    gPreis = parseInt(anzahlA)+parseInt(anzahlB)+parseInt(anzahlE);
    total_euro.value = gPreis;
    }
    }
     

  4. #4
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Ich weiss zwar nicht, ob das alles ist, aber ein Problem ist der verwendete Operator:
    Code :
    1
    
    document.getElementsByName("participant_fees")[0].checked [COLOR=red]=[/color] true
    ... das ist ein Zuweisungsoperator, du must einen Vergleichsoperator einsetzen...zwei mal =
    Code :
    1
    
    document.getElementsByName("participant_fees")[0].checked [COLOR=red]==[/color] true
     

  5. #5
    Avatar von sugar
    sugar sugar ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    162
    hm das hab ich ausprobiert, daran lag es wohl nicht. Stimmt das mit den Klammern denn so? Da war ich mir nicht so ganz sicher!
     

  6. #6
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Das mit den doppelten = muss sein, ..es erzeugt zwar keinen Fehler, aber dein Skript würde immer die erste Bedingung mit 200 als wahr ansehen.

    Der Fehler liegt tatsächlich an den Klammern....da fehlt in deinen if-Bedingungen 2mal die schliessende Klammer...das sieht man etwas schlecht bei der von dir verwendeten Einrückung....
    so sollte es gehen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    
    <script type="text/javascript">
    <!--
    function summeTotal()
    {
    var anzahlA = 0;
    var anzahlB = 0;
    var anzahlC = 0;
    var anzahlD = 0;
    var anzahlE = 0;
    var gPreis = 0;
     
    with(document.accform)
        {
        if(!isNaN(parseInt(vouchers_total.value)))
            {
            anzahlE = parseInt(vouchers_total.value);
            }
        if(participant_fees[0].checked)
            {
            anzahlA = 200;
            }
        else if(participant_fees[1].checked)
            {
            anzahlB = 250;
            }
        gPreis =anzahlA+anzahlB+anzahlE;
        total_euro.value = gPreis;
        }
    }
    //-->
    </script>
     

  7. #7
    Avatar von sugar
    sugar sugar ist offline Mitglied Gold
    Registriert seit
    Oct 2003
    Beiträge
    162
    vielen vielen Dank! Hat funktioniert!
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 08.11.07, 14:15
  2. Dem Objekt einen Wert zuweisen ?
    Von desaster0505 im Forum Java
    Antworten: 9
    Letzter Beitrag: 23.01.07, 22:14
  3. Wert von Radio Button auf einen Submit Button weiterleiten
    Von ImperatorAres im Forum Flash Plattform
    Antworten: 8
    Letzter Beitrag: 20.09.05, 07:19
  4. Bild einen Wert zuweisen?
    Von cmc-one im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 17.03.05, 01:57
  5. Einem Bild einen Wert zuweisen?
    Von cmc-one im Forum PHP
    Antworten: 3
    Letzter Beitrag: 16.03.05, 16:46