Forum: PC-Programmierung Java in HTML / Zahl mit Button addieren


von Der M. (Firma: Elegdro) (whyihavetologin)


Lesenswert?

Hallo,

ich möchte ein Eingabefeld für Nummer mit einem Button mit einer Zahl 
erhöhen.

ich habe codes für +1 gefunden, aber wenn ich z.B. pro click +10 
addieren will funktioniert das nicht.

Bitte um Hilfe
1
<script>
2
    var i = 0;
3
    function buttonClick() {
4
        document.getElementById('inc').value = i++;
5
    
6
    }
7
</script>
8
9
10
11
    
12
  <tr>
13
    <th>eink1</th>
14
    <th><input type="number" name="inc"  value="0"></th>
15
    <th><input type="button" onclick="buttonClick()" value="+10"></tr>

von Ergo70 (Gast)


Lesenswert?

i++ ist post increment um 1. Versuch Mal i+=10.

von Jack V. (jackv)


Lesenswert?

Warum der irreführende Titel? Clickbait?

von Der M. (Firma: Elegdro) (whyihavetologin)


Lesenswert?

Ergo70 schrieb:
> i++ ist post increment um 1. Versuch Mal i+=10.

Danke es funktioniert.

von Achim H. (anymouse)


Lesenswert?

oder so:
1
function buttonClick() {
2
    let element = document.getElementById('inc');
3
    element.value = parseInt(element.value,10) + 10;
4
}

von Der M. (Firma: Elegdro) (whyihavetologin)


Lesenswert?

Das Addieren mit den Buttons funktioniert jetzt.
Wenn ich jedoch in das Eingabefeld Zahlen eingebe und dann auf die 
Buttons drücke. Zeigt es mit das vom Button an, bzw. addiert nur die 
Zahlen der gedrückten Buttons.

Es ignoriert also komplett meine Eingabe oder resetet es.



1
 <script>
2
    var i = 0;
3
    function buttonClick1() {
4
        document.getElementById('inc1').value = i+=10;
5
    
6
    }
7
  
8
  var i = 0;
9
    function buttonClick2() {
10
        document.getElementById('inc1').value = i+=50;
11
    
12
    }
13
</script>
14
15
16
17
    
18
  <tr>
19
    <th>eink1</th>
20
    <th><input type="number" id="inc1" value="0"></input></th>
21
    <th><button onclick="buttonClick1()">+10</button></th>
22
    <th><button onclick="buttonClick2()">+50</button></tr>
23
    
24
    </tr>

von Ergo70 (Gast)


Lesenswert?

Weil du i in den Funktionen immer wieder erst auf 0 setzt. .value += 50, 
statt .value = i+=50. Und ein Grundkurs JavaScript, nicht JAVA, könnte 
auch hilfreich sein.

von Der M. (Firma: Elegdro) (whyihavetologin)


Lesenswert?

Ergo70 schrieb:
> Weil du i in den Funktionen immer wieder erst auf 0 setzt. .value
> += 50,
> statt .value = i+=50. Und ein Grundkurs JavaScript, nicht JAVA, könnte
> auch hilfreich sein.

Habe es jetzt überarbeitet, ist aber immernoch so
1
  <script>
2
    var i = 0;
3
    function buttonClick1() {
4
        document.getElementById('inc1').value = i+=10;
5
    }
6
  
7
    function buttonClick2() {
8
        document.getElementById('inc1').value = i+=100;
9
    }
10
  
11
  function buttonClick3() {
12
        document.getElementById('inc1').value = i+=500;
13
    }
14
  
15
</script>
16
17
18
19
20
<th><input type="number" id="inc1" value="0"></input></th>
21
    <th><button onclick="buttonClick1()">+10</button></th>
22
    <th><button onclick="buttonClick2()">+100</button></th>
23
    <th><button onclick="buttonClick3()">+500</button></th>

von Ergo70 (Gast)


Lesenswert?

Vergiss das i Mal ganz. .value += Wert

Beitrag #7144723 wurde vom Autor gelöscht.
von Der M. (Firma: Elegdro) (whyihavetologin)


Lesenswert?

Ergo70 schrieb:
> Vergiss das i Mal ganz. .value += Wert

Das addiert nichts, sondern schreibt die Werte der Buttons einfach nur 
hinten dran. Also es löscht/resetet schonmal nichts.

von Daniel A. (daniel-a)


Lesenswert?

Achim H. schrieb:
>     element.value = parseInt(element.value,10) + 10;

Kürzer wäre:
1
element.value = +element.value + 10;

von Achim H. (anymouse)


Lesenswert?

Daniel A. schrieb:
> Achim H. schrieb:
>>     element.value = parseInt(element.value,10) + 10;
>
> Kürzer wäre:
>
1
> element.value = +element.value + 10;
2
>

Da bin ich nicht sicher, ob da nicht etwas wie "10101010101010" 
herauskommt ;) Oder meinst Du, dass das erste "+" die 
String->Zahl-Umwandlung veranlasst?

von DPA (Gast)


Lesenswert?

Achim H. schrieb:
> Oder meinst Du, dass das erste "+" die
> String->Zahl-Umwandlung veranlasst?

Ja, das tut es. Ist ein nützlicher kleiner Trick, den ich vor Jahren mal 
von asmjs (einem striktem subset von JS) gelernt habe. 
(http://asmjs.org/spec/latest/#parameter-type-annotations)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.