elias01: javascript - einem wert (ein wort) eine zahl zuweisen

Hi, ich habe ein kleines Script geschrieben, um auszurechnen, wieviel ein Gameserver kostet.
 Nur habe ich noch ein Kleines Problem... Bei dem ganzen soll es Public und War Server geben... dsa eine soll 1,5€ pro slot kosten der andere 1.75...
allerdings soll nachher in der bestätigungsmail nicht 1.5 // 1.75 ssondern public // clan stehen... kann man also dem wert clan bzw public den wert 1.5 bzw 1.75 irgendwie zuweisen?

  1. Hallo elias01,

    evtl. mit assoziativen Arrays:

      
    a=new Array();  
    a["clan"]=1.5;  
    a["public"]=1.75;  
    
    

    for(i in a) alert(i +" "+a[i]);

    Gruß, Jürgen

    1. Hallo elias01,

      evtl. mit assoziativen Arrays:

      a=new Array();
      a["clan"]=1.5;
      a["public"]=1.75;

      
      > for(i in a) alert(i +" "+a[i]);  
      >   
      >   
      > Gruß, Jürgen  
        
      Hi Jürgen,  
        
      in JS gibt es keine assoziativen Arrays, lässt sich aber mit einem kleinen Trick umgehen:  
        
      var clan = 1.5;  
      var public = 1.75;  
        
      a = new Array();  
      a[clan] = "clan";  
      a[public] = "public";  
        
      ..... usw.  
        
        
      Gruß Jan
      
      1. Hallo Jan,

        in JS gibt es keine assoziativen Arrays, lässt sich aber mit einem kleinen Trick umgehen:

        ich weiß, aber der gepostete Codeschnippsel funktioniert. Außerdem macht Dein Code fast das Gleiche wie meiner:

        ich: a["clan"]=1.5;
        du:  a["1.5"] = "clan"; (der Index 1.5 wird in einen String umgewandelt.

        Gruß, Jürgen

      2. in JS gibt es keine assoziativen Arrays, lässt sich aber mit einem kleinen Trick umgehen:

        genau, das ganze ist lediglich ein Objekt. Es sollte daher auf keinenm Fall ein Array benutzt, das führt nur zu Mißverständnissen.

        var a = new Object();
        oder
        var a = {}

        Struppi.

        --
        Javascript ist toll (Perl auch!)
        1. Hallo Struppi,

          wo er Recht hat, hat er Recht.

          Gruß, Jürgen

          1. Hallo Struppi,

            wo er Recht hat, hat er Recht.

            Gruß, Jürgen

            Hehe - Frag eging eig auch an dich - wenn du ne antwort hast nur raus damit. *g*

            Gruß Elias

            1. Hallo elias01,

              nur eine Idee:

              Du hast die Selektbox mit "Clan" und "Public". Der "Selected Index" liefert die eine 0 oder 1, je nach Auswahl. Lege die Preise in ein Array der Länge 2, also

              Preis=new Array(1.5,1.75)

              und benutze den "selected Index" als Index für dieses Array:

              art = Preis[xxx.selectedIndex]

              http://de.selfhtml.org/javascript/objekte/options.htm#selected_index

              Gruß, Jürgen

              1. Hallo elias01,

                nur eine Idee:

                Du hast die Selektbox mit "Clan" und "Public". Der "Selected Index" liefert die eine 0 oder 1, je nach Auswahl. Lege die Preise in ein Array der Länge 2, also

                Preis=new Array(1.5,1.75)

                und benutze den "selected Index" als Index für dieses Array:

                art = Preis[xxx.selectedIndex]

                http://de.selfhtml.org/javascript/objekte/options.htm#selected_index

                Gruß, Jürgen

                sry bin da drine aber nen noob

                • wie soll das nun aussehen?

                so gehts net:

                <script type="text/javascript">
                function serverbetrag (slots, art, dauer) {
                Preis=new Array(1.5,1.75)
                art = Preis[clan.public.selectedIndex]
                     return slots * art * (dauer != 6 ? 1 : 0.9);

                }

                plx help

                1. zitiere bitte nur das worauf du antwortest, das macht das mitlesen leichter.

                  so gehts net:

                  geht net, gibt's net.

                  Im Firefox gibt es eine auskunftsfreudige Fehlerkonsole, schau da mal rein.

                  <script type="text/javascript">
                  function serverbetrag (slots, art, dauer) {
                  Preis=new Array(1.5,1.75)
                  art = Preis[clan.public.selectedIndex]

                  Weil, das dürfte falsch sein.

                  Struppi.

                  --
                  Javascript ist toll (Perl auch!)
                  1. zitiere bitte nur das worauf du antwortest, das macht das mitlesen leichter.

                    so gehts net:

                    geht net, gibt's net.

                    Im Firefox gibt es eine auskunftsfreudige Fehlerkonsole, schau da mal rein.

                    <script type="text/javascript">
                    function serverbetrag (slots, art, dauer) {
                    Preis=new Array(1.5,1.75)
                    art = Preis[clan.public.selectedIndex]

                    Weil, das dürfte falsch sein.

                    Struppi.

                    ja ist ja auch falsch deswegen sagte ich ja: so gehts net!

                    wäre schön wenn man das ganze hier so aufschreiben würde wie es funktionieren würde...

                    plx

                    1. zitiere bitte nur das worauf du antwortest, das macht das mitlesen leichter.

                      so gehts net:

                      geht net, gibt's net.

                      Im Firefox gibt es eine auskunftsfreudige Fehlerkonsole, schau da mal rein.

                      <script type="text/javascript">
                      function serverbetrag (slots, art, dauer) {
                      Preis=new Array(1.5,1.75)
                      art = Preis[clan.public.selectedIndex]

                      Weil, das dürfte falsch sein.

                      Struppi.

                      ja ist ja auch falsch deswegen sagte ich ja: so gehts net!

                      wäre schön wenn man das ganze hier so aufschreiben würde wie es funktionieren würde...

                      plx

                      habs jetzt mit if else gelöst.

                      thx

                      1. habs jetzt mit if else gelöst.

                        Das kann nicht Lösung sein, da der Fehler woanders lag.

                        Struppi.

                        --
                        Javascript ist toll (Perl auch!)
                    2. zitiere bitte nur das worauf du antwortest, das macht das mitlesen leichter.

                      Könntest du bitte das beherzigen!!

                      so gehts net:

                      geht net, gibt's net.

                      Im Firefox gibt es eine auskunftsfreudige Fehlerkonsole, schau da mal rein.

                      und das hier auch!

                      ja ist ja auch falsch deswegen sagte ich ja: so gehts net!

                      es wird dir ein Fehler angezeigt und in selfhtml findest du auch ein Kapitel, wie du Formulare und deren Elemente ansprichst.

                      wäre schön wenn man das ganze hier so aufschreiben würde wie es funktionieren würde...

                      Ich bin nicht verantwortlich für deine Faulheit, du hast hier Tipps, Ansätze und Verbesserungsvorschläge bekommen, du kennst selfhtml? Wenn nicht, für dich wäre dieses Kapitel ein Einstieg http://de.selfhtml.org/javascript/objekte/forms.htm

                      Das Forum hier ist kein "schreib mir mal schnell ein Skript" Forum, es wird von dir Mitarbeit erwartet.

                      Struppi.

                      --
                      Javascript ist toll (Perl auch!)
      3. Hallo elias01,

        evtl. mit assoziativen Arrays:

        a=new Array();
        a["clan"]=1.5;
        a["public"]=1.75;

        
        > > for(i in a) alert(i +" "+a[i]);  
        > >   
        > >   
        > > Gruß, Jürgen  
        >   
        > Hi Jürgen,  
        >   
        > in JS gibt es keine assoziativen Arrays, lässt sich aber mit einem kleinen Trick umgehen:  
        >   
        > var clan = 1.5;  
        > var public = 1.75;  
        >   
        > a = new Array();  
        > a[clan] = "clan";  
        > a[public] = "public";  
        >   
        > ..... usw.  
        >   
        >   
        > Gruß Jan  
          
        Hi Erstma danke für die schnellen antworten nur irgendwie bekomm ichs net hin...  
         hier mein bisheriger text:  
          
        <script type="text/javascript">  
        function serverbetrag (slots, art, dauer) {  
          if (dauer != 6) {  
          var Ergebnis = slots \* art \* 1;  
          } else {  
          var Ergebnis = slots \* art \* 0.9;  
          }  
          return Ergebnis;  
        }  
          
        function einmalig (dauer) {  
          if (dauer != 1) {  
          var Ergebnis = 0;  
            } else {  
          var Ergebnis = 20;  
          
          }  
          return Ergebnis;  
        }  
          
          
        function SchreibeBrutto (Betrag, art, dauer) {  
          var Wert = serverbetrag(Betrag, art, dauer);  
          var Wert1 = einmalig(dauer)  
          document.serverform.monatlich.value = Wert;  
          document.serverform.einmalig.value =Wert1;  
        }  
          
        </script>  
          
        und wie muss ich das nun einfügen?
        
        1. Hi Erstma danke für die schnellen antworten nur irgendwie bekomm ichs net hin...

          Ich kann nicht erkennen, wo du den Code benötigst.
          Aber...

          hier mein bisheriger text:

          hier sind ein paar etwas umständliche Funktionen:

          function serverbetrag (slots, art, dauer) {
            if (dauer != 6) {
            var Ergebnis = slots * art * 1;
            } else {
            var Ergebnis = slots * art * 0.9;
            }
            return Ergebnis;
          }

          function serverbetrag (slots, art, dauer) {
             return slots * art * (dauer != 6 ? 1 : 0.9);
          }

          function einmalig (dauer) {
            if (dauer != 1) {
            var Ergebnis = 0;
              } else {
            var Ergebnis = 20;

          }
            return Ergebnis;
          }

          function einmalig (dauer) {
             return (dauer != 1) ? 0 : 20;
          }

          Struppi.

          --
          Javascript ist toll (Perl auch!)
          1. Hi Erstma danke für die schnellen antworten nur irgendwie bekomm ichs net hin...

            Ich kann nicht erkennen, wo du den Code benötigst.
            Aber...

            hier mein bisheriger text:
            hier sind ein paar etwas umständliche Funktionen:

            function serverbetrag (slots, art, dauer) {
              if (dauer != 6) {
              var Ergebnis = slots * art * 1;
              } else {
              var Ergebnis = slots * art * 0.9;
              }
              return Ergebnis;
            }

            function serverbetrag (slots, art, dauer) {
               return slots * art * (dauer != 6 ? 1 : 0.9);
            }

            function einmalig (dauer) {
              if (dauer != 1) {
              var Ergebnis = 0;
                } else {
              var Ergebnis = 20;

            }
              return Ergebnis;
            }

            function einmalig (dauer) {
               return (dauer != 1) ? 0 : 20;
            }

            Struppi.

            Hi, also danke erstmal für diese Hilfe...
            habe aber immer noch das gleiche problem...
            wenn du die seite sehen möchtest: http://88.198.17.34/bestgs/bestellung.html

            es geht jetzt darum dass bei art ich die werte clan und public drine habe , JS aber mit 1.5 und 1.75 rechnen soll....
            hast du darauf ne antwort?

        2. Hallo elias01,

          sorry, aber ich verstehe weder den Sinn Deiner Berechnungen, noch was sie mit der Ursprungsfrage zu tun haben.

          Gruß, Jürgen

  2. Hi Erstma danke für die schnellen antworten nur irgendwie bekomm ichs net hin...
     hier mein bisheriger text:

    <script type="text/javascript">
    function serverbetrag (slots, art, dauer) {
      if (dauer != 6) {
      var Ergebnis = slots * art * 1;
      } else {
      var Ergebnis = slots * art * 0.9;
      }
      return Ergebnis;
    }

    function einmalig (dauer) {
      if (dauer != 1) {
      var Ergebnis = 0;
        } else {
      var Ergebnis = 20;

    }
      return Ergebnis;
    }

    function SchreibeBrutto (Betrag, art, dauer) {
      var Wert = serverbetrag(Betrag, art, dauer);
      var Wert1 = einmalig(dauer)
      document.serverform.monatlich.value = Wert;
      document.serverform.einmalig.value =Wert1;
    }

    </script>

    und wie muss ich das nun einfügen?