Frage von maxlllll, 62

Hey wie kann man die variable von einer while Schleife mit einem Text Feld füllen Danke :)?

Hey das hier das 11 und ich bekommen nicht hin die eingabe felder mit den Variable zu verbinden. Man soll in die das erste Ausgabe Feld eingeben ab wann es das 11 macht und in der letzten bis von hin. Hier ist mein skript.

Von :

Bis:

Anzeigen

Die while-Schleife

Danke im voraus :)

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von ramay1418, 41

OK, und jetzt das Ganze noch einmal in einem verständlichen Satz. 

ich bekommen nicht hin die eingabe felder ... ab wann es das 11 macht ...

Issich Problem groß, weil ich nix verstehen Sätze. Bist Du sicher, dass es sich um ein EDV-Thema handelt? 

Kommentar von maxlllll ,

Ups der der Java script teil ist nicht angezeigt worden. 

Ich habe auf einer Html Seite 2 Eingabe Felder unter denen einen Button. 

in das erste Feld schreibt man wo das 1*1 anfangen kann. Z. B schreibt man 3 dann fängst es an 3*1, 3*2, 3*3,... 

Das zweite Eingabe Feld gibt man ein wo das 1*1 enden soll. Z.b gibt man 7 ein dann 7*8, 7*9,7*10. 

Kurz gefasst man gibt in das erste Eingabe Feld 3 ein und das 2. Eingabe Felde 7 ein kommt unten in einem Div 

3*1=3

 3*2=6

 3*3=9 

...

7*8=56

 7*9=63

7*10=70 

Raus. 

Mein Problem ist die Eingabe felder mit der Variablen zu verbinden.

<script type="text/javascript>

var bis = parseFloat(document.getElementById("bis").value);
var von = parseFloat(document.getElementById("von").value);

while (von <= 10)
{
while (j <= bis)
{
document.write(von + "*" + j + "=" + (von*j) + "
");
++j;
}

document.write("========================================
");
j=1;
++von;
};
</script>
Kommentar von Sarkophator ,

Erstmal gibt es bei deinem Code das Problem, dass dein Code nur beim Laden der Seite aufgerufen wird, ergo auf Benutzerinteraktion nicht reagiert. (Ich nehme jetzt mal an dass du Benutzerinteraktion möchtest)

Also solltest du deinen Code in eine Funktion packen und diese mittels addEventListener auf das "keyup"-Event bei den beiden Input-Elementen legen.

Desweiteren solltest du in solchen Fällen lieber die for-Schleife verwenden, die übernimmt den Teil mit den Variablen direkt:

for(; von <= 10; von++)
  for(var j = 1; j <= bis; j++)
    document.write(von + "*" + j + "=" + (von*j) + "\r\n");
  
  document.write("========================================\r\n");
}

Mal abgesehen davon: Du willst mit "von" und "bis" die Grenzen für den ersten Faktor angeben lassen, allerdings begrenzt du bei der zweiten Schleife den zweiten Faktor j. Mit anderen Worten gehört der Check nach bis in die erste Schleife:

for(; von <= bis; von++)
for(var j = 1; j <= 10; j++)
document.write(von + "*" + j + "=" + (von*j) + "\r\n");

document.write("========================================\r\n");
}

Hier mal umgesetzt:

https://jsfiddle.net/amp2a8bf/

Kommentar von maxlllll ,

Cool danke und wenn ich aber ein Button habe der die aufforderung macht? 

Und was macht das Math.min?

Und und wenn ich in mein editor herüber paste funktioniert es nicht. Gibt es was ich tun muss   

Kommentar von Sarkophator ,

wenn ich aber ein Button habe der die aufforderung macht? 

Kannst du per Click-Event auf deinem Button machen. Du hast bei deinem Button da bereits schon "rechnen" reingeschrieben, allerdings existiert bei dir weder diese Funktion, noch führst du sie auf diese Weise auf.

Wenn du die Funktion aus dem jsfiddle so übernimmst, setzt du bei deinem Button:

<button onclick="doStuff()">Anzeigen</button>

Und was macht das Math.min?

Math.min gibt von den übergebenen Parametern den kleinsten Wert zurück. Wenn die Eingabe des Benutzer in dem Falle größer als 10 ist, wird 10 als Wert für "bis" gesetzt, sodass die Ergebnisse nicht für Zahlen größer als 10 durchgerechnet werden. (Weil das generieren der Ausgabe sonst z.B. zu groß wird und das Browserfenster sich dadurch aufhängt)

Sollte man eigentlich auch in die andere Richtung mit Math.max machen, sodass Zahlen unter 1 auch nicht erlaubt wären.

Und und wenn ich in mein editor herüber paste funktioniert es nicht. 

Bei deinem Script-Tag beendest du das type-Attribut nicht korrekt:

<script type="text/javascript>

Abgesehen davon brauchst du seit HTML5 das type-Attribut auch nicht mehr, kannst du also weglassen.

Antwort
von triopasi, 40

Poste bitte deinen Code auf pastebin.com

Eingabeformulare musst du mit "form" erstellen im HTML. Je nachdem ob du GET oder POST benutzt, kannst du in PHP mit $_GET bzw $_POST["name des felds"] auf die Werte zugreifen wenn du das Formular absendest.

Kommentar von maxlllll ,
Antwort
von safur, 35

Bitte was? :-)

Kommentar von maxlllll ,

Ups der der Java script teil ist nicht angezeigt worden.
Ich habe auf einer Html Seite 2 Eingabe Felder unter denen einen Button.
in das erste Feld schreibt man wo das 1*1 anfangen kann. Z. B schreibt man 3 dann fängst es an 3*1, 3*2, 3*3,...
Das zweite Eingabe Feld gibt man ein wo das 1*1 enden soll. Z.b gibt man 7 ein dann 7*8, 7*9,7*10.
Kurz gefasst man gibt in das erste Eingabe Feld 3 ein und das 2. Eingabe Felde 7 ein kommt unten in einem Div
3*1=3
3*2=6
3*3=9
...
7*8=56
7*9=63
7*10=70
Raus.
Mein Problem ist die Eingabe felder mit der Variablen zu verbinden.

<script type="text/javascript">
var bis = parseFloat(document.getElementById("bis").value);

var von = parseFloat(document.getElementById("von").value);

while (von <= 10)

{

while (j <= bis)

{

document.write(von + "*" + j + "=" + (von*j) + "
");

++j;

}

document.write("========================================
");

j=1;

++von;

}; </script>
Kommentar von safur ,

OK, die Anforderung habe ich verstanden.

Wie sehen deine Felder (input) aus? Schick mal.

<input type="text" id="von" value="Von">
<input type="text" id="bis" value="Bis">

parseFloat? Verwende parseInt

 

 

<script type="text/javascript">

var bis = parseInt(document.getElementById("bis").value);
var von = parseInt(document.getElementById("von").value);

for (von; von =< bis; von++) {
 for (var n = 0; n < 10; n++) {

  document.write(von + "*" + (n+1) + "=" + (von*(n+1)) );

 }
}
</script>

 

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten