fortunaboy: Problem mit Radiobutton

Moin hab da ein problem mit diesem quelltext:

<HTML>
  <HEAD>
    <TITLE>Demo zu Radiobutton</TITLE>
    <SCRIPT LANGUAGE="JavaScript">
       <!--
        var x=1.50, y=2.50, z=3.50, zahlung;
        function Betrag(x)
        {
        document.Testformular.NName.value=x;

}

function Betrag(y)
        {
         document.Testformular.NName.value=y;
        }

function Betrag(z)
        {
         document.Testformular.NName.value=z;
        }

function abc()
        {

zahlung=window.prompt("Wie möchten sie zahlen...Euro?");

zahlung=parseFloat(zahlung);

if (this.checked) {Betrag(x);}

zahlung=zahlung-1.50;

if(zahlung==0) {document.write("Sie erhalten kein Rückgeld!");}
            if (zahlung>0) {document.write("Sie erhalten"+zahlung+"Euro Rückgeld!");}

if (this.checked) {Betrag(y);}

zahlung=zahlung-2.50;

if(zahlung==0) {document.write("Sie erhalten kein Rückgeld!");}
            if(zahlung>0) {document.write("Sie erhalten"+zahlung+"Euro Rückgeld!");}

if (this.checked) {Betrag(z);}

zahlung=zahlung-3.5;

if(zahlung==0) {document.write("Sie erhalten kein Rückgeld!");}
            if(zahlung>0) {document.write("Sie erhalten"+zahlung+"Euro Rückgeld!");}

}

//-->
      </script>

</HEAD>

<CENTER>
      <H2><FONT COLOR=RED>Radiobutton</FONT></H2>
    </CENTER>

<FORM NAME="Testformular">
     <TABLE BORDER=O>
        <TR>
           <TD><B>Das Ticket kostet:</B>
           <TD><INPUT TYPE="text" Name="NName" SIZE=20
                >€

</TR>
     </TABLE>

<BR>

<INPUT TYPE="radio" Name="umwandeln" VALUE="Preisklasse A"
                  onClick="if (this.checked) {Betrag(x);}"> Preisklasse A
     <BR>
     <INPUT TYPE="radio" Name="umwandeln" VALUE="Preisklasse B"
                  onClick="if (this.checked) {Betrag(y);}"> Preisklasse B
     <BR>
     <INPUT TYPE="radio" Name="umwandeln" VALUE="Preisklasse C"
                  onClick="if (this.checked) {Betrag(z)}"> Preisklasse C
     <br>
     <INPUT TYPE="button" NAME=Bezahlen Value=Bezahlen onClick={abc();}>
  </FORM>

funzt sweit nur das programm wechselt immer nur für preisklasse A das wechselgeld auch wenn man preisklasse b auswählt!!!
Bitte um schnellen Rat
Danke
Mfg FortunaBoy

  1. Hi,

    <SCRIPT LANGUAGE="JavaScript">
           <!--
            var x=1.50, y=2.50, z=3.50, zahlung;
            function Betrag(x)
            {
            document.Testformular.NName.value=x;

    }

    function Betrag(y)
            {
             document.Testformular.NName.value=y;
            }

    function Betrag(z)
            {
             document.Testformular.NName.value=z;
            }

    Du überschreibst dir hier mehrfach nacheinander die Funktion Betrag.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Hallo,

      Du überschreibst dir hier mehrfach nacheinander die Funktion Betrag.

      ja, was aber in diesem speziellen Fall nicht schlimm ist, da die Funktion jedesmal identisch neu definiert wird - der unterschiedlich benamste Funktionsparameter macht nicht wirklich einen Unterschied.
      Offensichtlich hat fortunaboy das Konzept von Funktionen und ihren formalen Parametern (Platzhaltern) noch nicht verstanden.

      Ciao,
       Martin

      --
      Computer funktionieren grundsätzlich nicht richtig.
      Wenn doch, hast du etwas falsch gemacht.
      Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  2. @@fortunaboy:

    nuqneH

    <SCRIPT LANGUAGE="JavaScript">
           <!--

    Bei dieser Zeichenkette rutscht mir immer die Palme vors Gesicht.

    Das @language-Attribut war noch nie sinnvoll. Das @type-Attribut vielleicht auch nicht, das ist aber in HTML-Versionen vor HTML5 (HTML 4, XHTML 1.x) Pflicht.

    Das Auskommentieren von JavaScript-Code mit HTML-Kommentaren ist bestenfalls sinnlos, möglicherweise falsch.

    Statt der beiden Zeilen sollte <script> (HTML5) bzw. <script type="text/javascript"> dastehen; <!-- entfällt ebenso wie //-->.

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)