Programmiersprache – die besten Beiträge

JS Fehlermeldung Hilfe: null is not an object evaluating…?

Ich brauche Hilfe dabei: mir wird dieser Fehlermeldung angezeigt…es soll das Volumen des 2. Körpers ausrechnen aber das Ergebnis erschein nicht und die Fehler meldung taucht auf:

//Javascript
var input1 = document.getElementById("input1");
var input2 = document.getElementById("input2");
var btn = document.getElementById("btn");
var erw_input = document.getElementById("erw-input");
var erw_input2 = document.getElementById("erw-input2");
var volumen_out = document.getElementById("volumen-out");
var volumen_out2 = document.getElementById("volumen_out2");


const koerper = ["zylinder", "kegel", "kugel", "würfel", "quader", "pyramide"];


var foundInput1 = koerper.includes(input1.value.toLowerCase());

btn.addEventListener("click", function() {
  if (koerper.includes(input1.value.toLowerCase())) {
    for (var i1 = 0; i1 < koerper.length; i1++) {
      if (koerper[i1] == input1.value.toLowerCase()) {
        if (koerper[i1] == koerper[0]) {
          zylinder();
        }
        if (koerper[i1] == koerper[1]) {
          kegel();
        }
        if (koerper[i1] == koerper[2]) {
          kugel();
        }
        if (koerper[i1] == koerper[3]) {
          wuerfel();
        }
        if (koerper[i1] == koerper[4]) {
          quader();
        }
        if (koerper[i1] == koerper[5]) {
          pyramide();
        }
      }
    }
  } else {
    console.log("falsch");
  }

  if (koerper.includes(input2.value.toLowerCase())) {
    for (var i2 = 0; i2 < koerper.length; i2++) {
      if (koerper[i2] == input2.value.toLowerCase()) {
        if (koerper[i2] == koerper[0]) {
          zylinderZwei();
        }
        if (koerper[i2] == koerper[1]) {
          kegelZwei();
        }
        if (koerper[i2] == koerper[2]) {
          kugelZwei();
        }
        if (koerper[i2] == koerper[3]) {
          wuerfelZwei();
        }
        if (koerper[i2] == koerper[4]) {
          quaderZwei();
        }
        if (koerper[i2] == koerper[5]) {
          pyramideZwei();
        }
      }
    }
  } else {
    console.log("falsch");
  }
  
});


function kugel() {
  erw_input.innerHTML = "<h4>Radius 1:</h4> " + "<input required type='text' placeholder='Radius Kugel' id='rKug'>"
}

function kugelZwei() {
  erw_input2.innerHTML = "<h4>Radius 2:</h4> " + "<input required type='text' placeholder='Radius Kugel' id='rKug2'>";
}


  if (input1.value.toLowerCase() == koerper[2]) {
    var erg_kug = 4 / 3 * Math.PI * Math.pow(rKug.value, 3);
    volumen_out.innerHTML = "Volumen 1 - Kugel: <br>" + "V = 4 &#247; 3 &#183; &#960; &#183; r&#179; <br>" + "V = 4 &#247; 3 &#183; &#960; &#183; " + rKug.value + "&#179; <br>" + "V = " + erg_kug.toFixed(2) + " cm&#179";
  }

    if (input2.value.toLowerCase() == koerper[2]) {
      var erg_kug2 = 4 / 3 * Math.PI * Math.pow(rKug2.value, 3);
      volumen_out2.innerHTML = "Volumen 2 - Kugel: <br>" + "V = 4 &#247; 3 &#183; &#960; &#183; r&#179; <br>" + "V = 4 &#247; 3 &#183; &#960; &#183; " + rKug2.value + "&#179; <br>" + "V = " + erg_kug2.toFixed(2) + " cm&#179";
    }

    Den Rest habe ich rausgekürzt, da es sonst zu lang wäre. Danke schonmal im Vorraus !

Bild zum Beitrag
Webseite, JavaScript, Code, Programmiersprache, Webentwicklung

wie übergebe ich Daten mit Input?

Die Anwendung von Input ist eigentlich klar. Die gestellte Frage soll aber auf mein Problem hinweisen denn im dargestellten Fall habe ich Probleme.

if ($sichern == true){
        for($i=1; $i<4; $i++){
            echo "<input type='hidden' name='vonMod[$i]' value='$vonMod[$i]'>";
            echo "<input type='hidden' name='bisMod[$i]' value='$bisMod[$i]'>";
        }
        echo "<p align='center'><br><input class='backa' type='button' value='nein, zur&uuml;ck' onclick='history.back()'>&nbsp;&nbsp;";
        echo "<input class='speichern' type='submit' name='speichern' formaction='speichern.php' value='ja, speichern'><p>&nbsp;</p>";
    }else{
        echo "<p align='center'><br><input class='backa' type='button' value='nein, zur&uuml;ck' onclick='history.back()'>&nbsp;&nbsp;";
        echo "<input class='speichern' type='submit' name='kontrolle' formaction='termine_change.php?sichern' value='ja, speichern'><p>&nbsp;</p>";
    }

Mit der Datenweitergabe via Input name='kontrolle' gibt es keine Probleme!

Die Datenweitergabe mit name='speichern' funktioniert nicht! Die if-Abfrage nach "$sichern == true" wurde überprüft und wird ausgeführt.

Verschiebe ich den Input name='speichern' ausserhalb der Abfrage "$sichern == true" wird der Befehl ausgeführt.

Was kann ich machen, damit ich nach der Abfrage "$sichern == true" den Input-Befehl ausführen kann. Bei der Probiererei hatte ich zu dem Input noch ein onclick mit einem Alert-fenster angehängt. Alert funktionierte, nur input nicht!

Webseite, PHP, Programmiersprache

Meistgelesene Beiträge zum Thema Programmiersprache