Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Unerwünschter neuer Seitenaufbau
#4
Hallo nbergmann, ich habe auch eine Version gebastelt. Hier meine Version:
Code:
<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Rechnen</title>
    <style>
        html {
            font-family: 'Arial', 'Helvetica', sans-serif;
        }
        fieldset {
            display: inline-block;
            width: 600px;
        }
        body {
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        .ausgabe-set {
            display: flex;
            flex-direction: column;
        }
    </style>
    <script>
        var r1, r2, r3, r4, rgesamt, zahl1, zahl2, output, btn, rechenart;
        document.addEventListener('DOMContentLoaded', function() {
            r1 = document.getElementById('r1'); r2 = document.getElementById('r2');
            r3 = document.getElementById('r3'); r4 = document.getElementById('r4');
            rgesamt = document.querySelectorAll('input[name=rechenart]');
            rgesamt.forEach(function(elem){
                elem.addEventListener('input', function() {
                    rechenart = elem.dataset.rechenart;
                });
            });
            zahl1 = document.getElementById('zahl1'); zahl2 = document.getElementById('zahl2');
            zahl1.value = ''; zahl2.value = ''; zahl1.focus();
            output = document.getElementById('output'); btn = document.getElementById('btn');
            r1.checked = true; rechenart = 'addition';
            btn.addEventListener('click', function() {
                let num1 = zahl1.value.replace(',','.');
                let num2 = zahl2.value.replace(',','.');
                if(!isNaN(num1) && !isNaN(num2) && num1 != '' && num2 != '') {
                    num1 = parseFloat(num1);
                    num2 = parseFloat(num2);
                    berechne(num1, num2);
                } else {                   
                    output.value = "Fehler: Bitte richtige Zahlen eingeben!";                                       
                }               
            });
        });
        function berechne(num1, num2) {
            var ergebnis = 0;
            switch(rechenart) {
                case 'addition':
                    ergebnis = num1 + num2;
                    output.value = ergebnis;
                break;
                case 'subtraktion':
                    ergebnis = num1 - num2;
                    output.value = ergebnis;
                break;
                case 'multiplikation':
                    ergebnis = num1 * num2;
                    output.value = ergebnis;
                break;
                case 'division':
                    ergebnis = num1 / num2;
                    output.value = ergebnis;
                break;
            }
        }
    </script>
</head>
<body>
    <h1>Rechner</h1>
    <fieldset>
        <input type="radio" name="rechenart" id="r1" data-rechenart="addition">
        <label for="r1">Addition</label>
        <input type="radio" name="rechenart" id="r2" data-rechenart="subtraktion">
        <label for="r2">Subtraktion</label>
        <input type="radio" name="rechenart" id="r3" data-rechenart="multiplikation">
        <label for="r3">Multiplikation</label>
        <input type="radio" name="rechenart" id="r4" data-rechenart="division">
        <label for="r4">Division</label>
    </fieldset>
    <fieldset>
        <input type="number" name="zahl1" id="zahl1">
        <label for="zahl1">Erste Zahl</label>
        <input type="number" name="zahl2" id="zahl2">
        <label for="zahl2">Zweite Zahl</label>
    </fieldset>
    <fieldset class="ausgabe-set">
        <p>Ergebnis:</p><output id="output"></output>
        <button id="btn">berechne</button>
    </fieldset>
</body>
</html>

Ich hoffe der erstellte Codeschnipsel und der von admin können dir weiterhelfen deinen Code besser zu verstehen.

Viele Grüße
rzscout
"Gerne dürft ihr mir eine gute Bewertung da lassen aber auch gegenüber Kritik bin ich offen" Angel
Zitieren


Nachrichten in diesem Thema
RE: Unerwünschter neuer Seitenaufbau - von rzscout - 08.01.2023, 18:42

Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste