[JS] Zahl verändern durch Button

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Oh, tut mir leid, das muss ich übersehen haben ops:
    Ich hab da was gefunden, was man Radiobuttons einen Index geben kann, nur möchte ich ja Textfelder benutzen... Ich weiß im Moment wirklcih nicht, wie ich da rangehen soll

    Kommentar


    • #17
      der zugriff auf formularfelder lässt sich nicht nur so:
      Code:
      document.[i]formularname.feldname[/i].xyz
      machen, sondern auch beispielsweise so:
      Code:
      document.forms[[i]formularname[/i]].elements[[i]feldname[/i]].xyz
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #18
        Code:
        function berechnen(i)
        {
        document.form.elements[i].value=document.form.elements[i].value-1;
        }
        ...
        <input type="text" value="2" name="1">
        <input type="button" name="button" value="<" onClick="berechnen(0);"></button>
        So geht es so, wie ich es haben will
        Und vielen vielen Dank für eure Hilfe!

        Kommentar


        • #19
          Ok, das Problem geht weiter:
          Wenn ich den Wert des Feldes erhören statt verringern will, wird an die Zahl, die da von vornherein ist, einfach eine 1 drangehängt

          Kommentar


          • #20
            Original geschrieben von Realmaker
            Wenn ich den Wert des Feldes erhören statt verringern will, wird an die Zahl, die da von vornherein ist, einfach eine 1 drangehängt
            wenn du in JS das value eines formularfeldes ausliest, ist das zunächst mal immer ein string.

            also wird bei + 1 hier das + als der stringverkettungsoperator angesehen.
            und "123" + 1 ergibt dann nun mal "1234"; die 1 wird automatisch in einen string umgewandelt.
            (dass es bei - 1 klappt liegt daran, dass hier keine verwechslung bzgl. des operators möglich ist, für strings gibt es den operator - nicht.)

            um das zu vermeiden, musst du das, was du aus dem value des formularfeldes ausliest, erst mal in eine zahl umwandeln.
            parseInt() bzw. parseFloat() helfen dir dabei weiter.

            (alternativ könnte man auch den string zuerst mit 1 "multiplizieren" - weil auch * kein stringoperator ist, würde auch hierdurch der string zunächst in eine zahl mit gleichem wert umgewandelt [sofern möglich]. aber das ist der "unsaubere" weg, die beiden genannten javascript-methoden sind zu bevorzugen.)
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #21
              Ah, hab verstanden, hab es so gelöst:
              Code:
              document.handeln.elements[i].value=document.handeln.elements[i].value*1+1
              Danke

              Kommentar

              Lädt...
              X