If und for verschachteln

N3WM4N

Mitglied
Guten Tag,
ich möchte gerne das ein paar Bedingungen erfüllt werden, bevor meine schleife ausgeführt wird.
Anscheinend kann ich eine for schleife nicht in eine if bedingung verschachteln. Deshalb frage ich mihc, wie ich das ganze umsetzen soll



Java:





Java:
  function berechnung ()

{

var t1=document.getElementById("tstart").value

var t2=document.getElementById("tende").value

t1=parseFloat(t1)

t2=parseFloat(t2)

var stoff=document.getElementById("stoff").selectedIndex

var einheit=document.getElementById("einheit").selectedIndex

if ( stoff=="0" && einheit=="0" && t1>=0 && t2<=250 && t1<t2)

{

var i=t1,

var ausgabe="<tr> <th> T </th> <th> E </th> <th> K</th> <th> O</th></tr>";

for ((i=t1); (i>t2);(i=i+2))

{

ausgabe=ausgabe+"<tr><td>" + i +"</td><td>"+

(i*i)+"</td><td>"+

(i*i)+"</td><td>"+

(i*i)+"</td></tr>";

}

document.getElementById("Absatz1").innerHTML = ausgabe
};





Die Inhalte sind in erste Linie irrelevant. Diese habe ich nur verwendet, um da sganze zu testen. Also Die 5 Bedingungen beim if müssene rfüllt werden. Dann möchte ich eine Wiederholung laufen lassen.
Über Hinweise wäre ich sehr dankbar






Antwort

Report Bearbeiten
 

httpdigest

Top Contributor
Der Fehler ist vermutlich, dass deine Schleife niemals ausgeführt wird, weil ihre Bedingung i > t2, also i grösser als t2, immer false ist (angenommen, dass nach Usereingabe t1 <= t2 ist).
Du willst die Schleife wahrscheinlich nicht ausführen, solange i grösser als t2 ist, sondern solange es noch kleiner als t2 ist.
 

N3WM4N

Mitglied
Der Fehler ist vermutlich, dass deine Schleife niemals ausgeführt wird, weil ihre Bedingung i > t2, also i grösser als t2, immer false ist (angenommen, dass nach Usereingabe t1 <= t2 ist).
Du willst die Schleife wahrscheinlich nicht ausführen, solange i grösser als t2 ist, sondern solange es noch kleiner als t2 ist.
Hi erstmal vielen Dank für deine Antwort. Du hast natürlich recht. Mir ist da ein Fehle runterlaufen, allerdings lässt sich das ganze imme rnoch nicht ausführen

Java:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="UTF-8" />
        <title>Internes JS</title>
       <script type="text/javascript">//<![CDATA[
        "use strict";
        function berechnung ()
        {
        var t1=document.getElementById("tstart").value
        var t2=document.getElementById("tende").value
        t1=parseFloat(t1)
        t2=parseFloat(t2)
        var stoff=document.getElementById("stoff").selectedIndex
        var einheit=document.getElementById("einheit").selectedIndex
        
        if ( stoff=="0" && einheit=="0" && t1>=0 && t2<=250 && t1<t2)
            {
            var i=0;
            var ausgabe="";
            for ((i=t1); (i<=t2);(i=i+2))
                {
                ausgabe = ausgabe + "<h" + i +">Überschrift" + i               
                                + "</h" + i + ">";
            }
            document.getElementById("Absatz1").innerHTML = ausgabe;
        }
        
        
        //]]></script>
      
    </head>

    
     <body>
     <h1>Berechnung</h1>
     <select id="stoff">
        <option>1</option>
        <option>2</option>
        <option>3</option>
     </select>
     <input id="tstart" placeholder="Start"/>
     <input id="tende" placeholder="Ende"/><br/>
     <p>
        <select id="einheit">
        <option>1</option>
        <option>2</option>
        </select>
        <input onclick="berechnung ()" type="button" value="Berechnung starten"/>
     </p>
    
    <p id="Absatz1">
    </p>
 
    
    
    
    
    </body>
</html>


Hier nochmal der ganze Code.
 

httpdigest

Top Contributor
Öffne einfach mal die F12/Browser-Tools und debugge durch den Code. Bzw. schaue überhaupt erstmal auf die JavaScript Console. Dort werden bei Button-Click ein paar Errors ausgegeben. Dein Code ist syntaktisch noch nicht ganz korrekt. (Sagt dir aber alles die Console im Browser)
 

Neue Themen


Oben