selfhtml.de - Alles für den Webmaster!

 

Empfehlung:

wix.com

Kostenlose Homepage

Besuchen Sie auch:

Jobs:

Tabelleninhalte ändern

Autor: Urwald
Datum: 10.06.2013 00:10:20

Hallo an alle zusammen!
Ich bin es wieder mit einem neuen Problem:(
Zu erst, der Code:

<!DOCTYPE html>

<html lang="de">
    <head>
        <meta charset="utf-8" />
<title>Warenbestand Theke 1</title>
<link href="styles/default.css" rel="stylesheet" type="text/css" />
    </head>


    <body>

<script type="text/javascript">

function Getraenk(preis, menge){
//Atributte

this.preis = preis;

this.menge = menge;

}

GetraenkeListe = new Array();

GetraenkeListe["Cola"]    =   new Getraenk(1.50, 300);
GetraenkeListe["Mojito"]  =   new Getraenk(2.50, 300);
GetraenkeListe["Becks"]   =   new Getraenk(2.50, 300);

</script>  



<h1>Warenbestand Theke 1</h1>
<table border="1">
<tr>
   <th colspan="7">Bestandsliste</th>
</tr>
<tr>
<th>Getraenk</th>
<th>Preis</th>
<th>Menge</th>
<th>=||=||= </th>
<th>Snack</th>
<th>Preis</th>
<th>Menge</th>
</tr>

<tr>
<td>CocaCola 0,33 Dose</td>
<td><script>document.write(GetraenkeListe["Cola"].preis)</script></td>
<td><script>document.write(GetraenkeListe["Cola"].menge)</script></td>
<td>=||=||=</td>
<td>Chips 275Gr. Packung</td>
<td>2,00€</td>
<td>200</td>
</tr>
<tr>
<td>Mojito 0,33 Dose</td>
<td><script>document.write(GetraenkeListe["Mojito"].preis)</script></td>
<td><script>document.write(GetraenkeListe["Mojito"].menge)</script></td>
<td>=||=||=</td>
<td>Erdnuesse 200Gr. Packung</td>
<td>2,00€</td>
<td>200</td>
</tr>
<tr>
<td>Beck`s 0,33 Flasche</td>
<td><script>document.write(GetraenkeListe["Becks"].preis)</script></td>
<td> <id="a1"><script>document.write(GetraenkeListe["Becks"].menge)</script></td>
<td>=||=||=</td>
<td>Pistazien 200Gr. Packung</td>
<td>2,00€</td>
<td>200</td>
</tr>

</table>
<>  </>
<>  </>

<h2>Verkaufsbereich</h2>





<label for="name">Artikel:</label>
<input id="id1" type="text" value="">
<input type="button" value="Los"
               onclick="speichern1()">

<script>
function speichern1(){
    a = document.getElementById("id1");
               alert(a.value);
}
</script>
  
  
  
    <label for="name">Menge:</label>
<input id="id2" type="number" value>
<input type="button" value="Los"
               onclick="speichern2()">
  
   <script>
function speichern2(){
    b = document.getElementById("id2");
   alert(b.value);
   }
</script>
      

<script>
function verkaufen(){
  
   x = a.value;
switch(x){
case "cola":
c = GetraenkeListe["Cola"].preis*b.value;
alert(c + " Euro");
break;

case "mojito":
c = GetraenkeListe["Mojito"].preis*b.value;
alert(c + " Euro");
break;

case "becks":
c = GetraenkeListe["Becks"].preis*b.value;
alert(c + " Euro");
break;

default:
alert ("DEBIL, MLIN!");
}
    
        }
</script>





<input type="button" value="Betrag"
           onclick="verkaufen()">
  
   <script>
  
   function aktualisieren(){
  
   x = a.value;
      
  switch(x){
case "cola":
GetraenkeListe["Cola"].menge = GetraenkeListe["Cola"].menge - b.value;
alert("Bestand von Cola: " +GetraenkeListe["Cola"].menge+ " Stueck");
break;

case "mojito":
GetraenkeListe["Mojito"].menge = GetraenkeListe["Mojito"].menge - b.value;
alert("Bestand von Mojito: " +GetraenkeListe["Mojito"].menge+ " Stueck");
break;

case "becks":
GetraenkeListe["Becks"].menge = GetraenkeListe["Becks"].menge - b.value;
document.getElementById("a1")=document.write(GetraenkeListe["Becks"].menge);
break;

default:
alert ("Falsche Eingabe");
  
  }
        }

</script>

<input type="button" value="Aktualisieren"
           onclick="aktualisieren()">

</body>
</html>

Es geht um die letzte Funktion "aktualisieren". Diese soll in der Abhängigkeit von der Eingabe der Ware (Momentan einer Sorte von 3 Getränken: Cola, Mojito, Becks) deren Menge in der Tabelle ändern. Bei Cola und Mojito aktualisiert sich die Seite und ich bekomme nur eine Zahl - die ich allerdings auch brauche, aber - IN DER TABELLE!
Bei Becks habe ich versucht exakt die Zeile anzusprechen, die ich verändern will (bzw. deren Inhatl ich verändern will) - da passiert es aber nichts.
Wer hätte ein Rat für mich?
Vielen Dank im Voraus!
MfG Urwald



Re: Tabelleninhalte ändern

Autor: Urwald
Datum: 10.06.2013 00:19:25

Korrektur!!!!
In der Funktion "aktualisieren" bei Cola und Mojito bekomme ich mit "alert" ausgegebene Meldun, wo ich die Angabe sehe, die eigentlich in der Tabelle stehen soll.

MfG Urwald



Re: Tabelleninhalte ändern

Autor: Reporter
Datum: 10.06.2013 11:49:50

> Korrektur!!!!
> In der Funktion "aktualisieren" bei Cola und
> Mojito bekomme ich mit "alert" ausgegebene
> Meldun, wo ich die Angabe sehe, die eigentlich in
> der Tabelle stehen soll.

Also ich bekomme dein Ergebnis nicht. Erstes erscheint in der Fehlerkonsole vom Firefox eine Fehlermeldung und zweitens wundere ich mich, nach Sichtung deines Quellkodes, dass du überhaupt zu einem Ergebnis kommst.
Außerdem hat es für mich den Anschein, dass du meine Antwort auf deine erstere Frage entweder nicht verstanden oder nicht vollständig gelesen hast.



Re: Tabelleninhalte ändern

Autor: Urwald
Datum: 10.06.2013 13:36:05


> Also ich bekomme dein Ergebnis nicht. Erstes
> erscheint in der Fehlerkonsole vom Firefox eine
> Fehlermeldung und zweitens wundere ich mich, nach
> Sichtung deines Quellkodes, dass du überhaupt zu
> einem Ergebnis kommst.
> Außerdem hat es für mich den Anschein, dass du
> meine Antwort auf deine erstere Frage entweder
> nicht verstanden oder nicht vollständig gelesen
> hast.

Mit dem Chrom funktioniert alles, bis auf die eine Funktion.
Deine Tipps habe ich gelesen und umgesetzt, indem ich mit b.value arbeite.
Mir geht es um die Möglichkeit eines Zugriffs auf die Werte in der Tabelle - genauer gesagt um den Wert "Menge" um diesen nach dem "verkaufen" anzupassen.



Re: Tabelleninhalte ändern

Autor: Reporter
Datum: 10.06.2013 14:18:57


> Mit dem Chrom funktioniert alles, bis auf die
> eine Funktion.

Ich habe dein Eingangsquelltext in Chrome auprobiert und komme dort ebenfalls nicht zu deinem Ergebnis. Es sei denn dein originaler Quelltext ist mit dem hier Geposteten  nicht identisch.

> Deine Tipps habe ich gelesen und umgesetzt, indem
> ich mit b.value arbeite.

Sofern dein Quelltext identisch ist, mit dem was du hier gepostest hast, dann wurde nur 1 von 3 Hinweisen ausgeführt.

> Mir geht es um die Möglichkeit eines Zugriffs auf
> die Werte in der Tabelle - genauer gesagt um den
> Wert "Menge" um diesen nach dem "verkaufen"
> anzupassen.

Dazu musst wie folgt vorgehen:
1. mit der Methode '.getElementsByTagName()' mußt du als erstes dich durch die Tabelle hangeln (erst "table", dann "tr" und danach "td").
2. Auslesen des Taginhaltes mit der DOM-Methode '.innerText'
3. Mit 'parseInt()' den Inhalt in eine Zahl umwandeln und den neuen Wert berechnen
4. Den neuen Inhalt mit der DOM-Methode '.innerText' wieder zurück schreiben.



Re: Tabelleninhalte ändern

Autor: Urwald
Datum: 18.06.2013 22:22:28

Hallo!
hier noch mal der Code (ist schon ein wenig weiterverarbeitet):

<!DOCTYPE html>

<html lang="de">
    <head>
        <meta charset="utf-8" />
<title>Warenbestand </title>
<link href="styles/default.css" rel="stylesheet" type="text/css" />
<style type="text/css">

body{font-family: Arial, serif; color: red; background-color: black;}

h1{margin:0px 0px 50px 0px;}
h2{margin:30px 0px 30px 0px;}

    
</style>

    </head>

<body>

<script type="text/javascript">

function Getraenk(preis, menge){
//Atributte

this.preis = preis;

this.menge = menge;

}

GetraenkeListe = new Array();

GetraenkeListe["Cola"]    =   new Getraenk(1.50, 300);
GetraenkeListe["Mojito"]  =   new Getraenk(2.50, 300);
GetraenkeListe["Becks"]   =   new Getraenk(2.50, 300);
GetraenkeListe["Gambrinus"]   =   new Getraenk(3.00, 300);

function Snack(preis, menge){
//Atributte

this.preis = preis;

this.menge = menge;

}

SnackListe = new Array();

SnackListe["Chips"]      =   new Snack(2.00, 150);
SnackListe["Erdnuesse"]    =   new Snack(2.00, 150);
SnackListe["Pistazien"]    =   new Snack(2.00, 150);
SnackListe["Brotchips"]    =   new Snack(2.00, 150);

</script>

<h1 align="center">Der Kopf tut weh, die Füße stinken = höchste Zeit ein Bier zu trinken!</h1>
<table align="center" border="1" cellpadding="15" cellspacing="10" >
<tr>
   <th colspan="15"> THEKE </th>
</tr>
<tr>
<th>Getraenk</th>
<th>Preis</th>
<th>Menge</th>
<th>=||=||=</th>
<th>Snack</th>
<th>Preis</th>
<th>Menge</th>
</tr>

<tr>
<td>CocaCola 0,33 Flasche</td>
<td><script>document.write(GetraenkeListe["Cola"].preis+" €")</script></td>
<td><script>document.write(GetraenkeListe["Cola"].menge)</script></td>
<td>=||=||=</td>
<td>Chips 275Gr. Packung</td>
<td><script>document.write(SnackListe["Chips"].preis+" €")</script></td>
<td><script>document.write(SnackListe["Chips"].menge)</script></td>
</tr>
<tr>
<td>Mojito 0,33 Flasche</td>
<td><script>document.write(GetraenkeListe["Mojito"].preis+" €")</script></td>
<td><script>document.write(GetraenkeListe["Mojito"].menge)</script></td>
<td>=||=||=</td>
<td>Erdnuesse 200Gr. Packung</td>
<td><script>document.write(SnackListe["Erdnuesse"].preis+" €")</script></td>
<td><script>document.write(SnackListe["Erdnuesse"].menge)</script></td>
</tr>
<tr>
<td>Beck`s 0,33 Flasche</td>
<td><script>document.write(GetraenkeListe["Becks"].preis+" €")</script></td>
<td> <script>document.write(GetraenkeListe["Becks"].menge)</script></td>
<td>=||=||=</td>
<td>Pistazien 200Gr. Packung</td>
<td><script>document.write(SnackListe["Pistazien"].preis+" €")</script></td>
<td><script>document.write(SnackListe["Pistazien"].menge)</script></td>
</tr>
<tr>
<td>Gambrinus 0,5 Flasche</td>
<td><script>document.write(GetraenkeListe["Gambrinus"].preis+" €")</script></td>
<td><script>document.write(GetraenkeListe["Gambrinus"].menge)</script></td>
<td>=||=||=</td>
<td>Brotchips 200Gr. Packung</td>
<td><script>document.write(SnackListe["Brotchips"].preis+" €")</script></td>
<td><script>document.write(SnackListe["Brotchips"].menge)</script></td>
</tr>

</table>



<h2 align="center">Verkaufsbereich</h2>





<label for="name">Artikel:</label>
<input id="id1" type="text" value="">
<input type="button" value="EINGABE"
               onclick="speichern1()">
   <br>
   <br>
<script>
function speichern1(){
    a = document.getElementById("id1");
               alert(a.value);
}
</script>
  
  
  
    <label for="name">Menge:</label>
<input id="id2" type="number" value>
<input type="button" value="EINGABE"
               onclick="speichern2()">
   <br>
   <br>
   <script>
function speichern2(){
    b = document.getElementById("id2");
   alert(b.value);
   }
</script>
      

<script>
function verkaufen(){
  
   x = a.value;
switch(x){
case "cola":
c = GetraenkeListe["Cola"].preis*b.value;
alert(c + " Euro");
break;

case "mojito":
c = GetraenkeListe["Mojito"].preis*b.value;
alert(c + " Euro");
break;

case "becks":
c = GetraenkeListe["Becks"].preis*b.value;
alert(c + " Euro");
break;

case "gambrinus":
c = GetraenkeListe["Gambrinus"].preis*b.value;
alert(c + " Euro");
break;

case "chips":
c = SnackListe["Chips"].preis*b.value;
alert(c + " Euro");
break;

case "erdnuesse":
c = SnackListe["Erdnuesse"].preis*b.value;
alert(c + " Euro");
break;

case "pistazien":
c = SnackListe["Pistazien"].preis*b.value;
alert(c + " Euro");
break;

case "brotchips":
c = SnackListe["Brotchips"].preis*b.value;
alert(c + " Euro");
break;

default:
alert ("Pass auf was du eingibst!");
}
    
        }
</script>





<input type="button" value="BETRAG"
           onclick="verkaufen()">
   <br>
   <br>
  
   <script>
  
   function aktualisieren(){
  
   x = a.value;
      
  switch(x){
case "cola":
GetraenkeListe["Cola"].menge = GetraenkeListe["Cola"].menge - b.value;
alert("Bestand von Cola: " +GetraenkeListe["Cola"].menge+ " Stueck");
break;

case "mojito":
GetraenkeListe["Mojito"].menge = GetraenkeListe["Mojito"].menge - b.value;
alert("Bestand von Mojito: " +GetraenkeListe["Mojito"].menge+ " Stueck");
break;

case "becks":
GetraenkeListe["Becks"].menge = GetraenkeListe["Becks"].menge - b.value;
alert("Bestand von Becks: " +GetraenkeListe["Becks"].menge+ " Stueck");
break;

case "gambrinus":
GetraenkeListe["Gambrinus"].menge = GetraenkeListe["Gambrinus"].menge - b.value;
alert("Bestand von Gambrinus: " +GetraenkeListe["Gambrinus"].menge+ " Stueck");
break;

case "chips":
SnackListe["Chips"].menge = SnackListe["Chips"].menge - b.value;
alert("Bestand von Chips: " + SnackListe["Chips"].menge+ " Stueck");
break;

case "erdnuesse":
SnackListe["Erdnuesse"].menge = SnackListe["Erdnuesse"].menge - b.value;
alert("Bestand von Erdnuessen: " + SnackListe["Erdnuesse"].menge+ " Stueck");
break;

case "pistazien":
SnackListe["Pistazien"].menge = SnackListe["Pistazien"].menge - b.value;
alert("Bestand von Pistazien: " + SnackListe["Pistazien"].menge+ " Stueck");
break;

case "brotchips":
SnackListe["Brotchips"].menge = SnackListe["Brotchips"].menge - b.value;
alert("Bestand von Brotchips: " + SnackListe["Brotchips"].menge+ " Stueck");
break;

default:
alert ("Falsche Eingabe");
  
  }
        }

</script>

<input type="button" value="AKTUALISIEREN"
           onclick="aktualisieren()">

  
  
  

</body>
</html>

Hab folgendes noch zu zufügen:
den veränderten Wert, den ich in die Tabelle eintragen will habe ich eigentlich schon - dieser wird mir per "alert" mittels Funktion "Aktualisieren" auf dem Bildschirm ausgegeben. Jetzt mus ich die entsprechende Stelle in der Tabelle mit diesem Wert überschreiben.
Ich habe versuch es mit deinen Tipps, aber da ich so gut wie nichts in der JavaScript kenne klappt es irgendwie nicht:(



Re: Tabelleninhalte ändern

Autor: Reporter
Datum: 19.06.2013 17:44:27

Hallo,

ich habe mir dein Kunstobjekt angesehen und ich glaube zu verstehen wo genau du hin möchtest. Mit deinem vorgegeben Kode bist du in eine Sackgasse geraten, an den du ohne Änderungen und tieferen Kenntnissen nicht weiterkommen wirst.
Ich arbeite gerade an einen Lösungsvorschlag. Jedoch kann ich dir schon vorab ans Herz legen diesen Vorschlag genau zu studieren und zu verstehen. http://www.selfhtml.de und http://de.selfhtml.org können dir dabei weiterhelfen.

PS: Auch ein Vergleich zwischen deinem alten und den neuen Kode wird hilfreich sein.



Re: Tabelleninhalte ändern

Autor: Urwald
Datum: 19.06.2013 22:07:04

Habe deinen Rat befolgt und nachgelesen. Als Ergebnis kam der Versuch mit "getElementById" zu arbeiten
In dem Code habe ich es nur für den Artikel "Cola" realisiert

<!DOCTYPE html>

<html lang="de">
    <head>
        <meta charset="utf-8" />
<title>Warenbestand </title>
<link href="styles/default.css" rel="stylesheet" type="text/css" />
<style type="text/css">

body{font-family: Arial, serif; color: red; background-color: black;}

h1{margin:0px 0px 50px 0px;}
h2{margin:30px 0px 30px 0px;}

    
</style>

    </head>

<body>

<script type="text/javascript">

function Getraenk(preis, menge){
//Atributte

this.preis = preis;

this.menge = menge;

}

GetraenkeListe = new Array();

GetraenkeListe["Cola"]    =   new Getraenk(1.50, 300);
GetraenkeListe["Mojito"]  =   new Getraenk(2.50, 300);
GetraenkeListe["Becks"]   =   new Getraenk(2.50, 300);
GetraenkeListe["Gambrinus"]   =   new Getraenk(3.00, 300);

function Snack(preis, menge){
//Atributte

this.preis = preis;

this.menge = menge;

}

SnackListe = new Array();

SnackListe["Chips"]      =   new Snack(2.00, 150);
SnackListe["Erdnuesse"]    =   new Snack(2.00, 150);
SnackListe["Pistazien"]    =   new Snack(2.00, 150);
SnackListe["Brotchips"]    =   new Snack(2.00, 150);

</script>

<h1 align="center">Der Kopf tut weh, die Füße stinken = höchste Zeit ein Bier zu trinken!</h1>
<table align="center" border="1" cellpadding="15" cellspacing="10" >
<tr>
   <th colspan="15"> THEKE </th>
</tr>
<tr>
<th>Getraenk</th>
<th>Preis</th>
<th>Menge</th>
<th>=||=||=</th>
<th>Snack</th>
<th>Preis</th>
<th>Menge</th>
</tr>

<tr>
<td>CocaCola 0,33 Flasche</td>
<td><script>document.write(GetraenkeListe["Cola"].preis+" €")</script></td>
<td id="a1"><script>document.write(GetraenkeListe["Cola"].menge)</script></td>
<td>=||=||=</td>
<td>Chips 275Gr. Packung</td>
<td><script>document.write(SnackListe["Chips"].preis+" €")</script></td>
<td><script>document.write(SnackListe["Chips"].menge)</script></td>
</tr>
<tr>
<td>Mojito 0,33 Flasche</td>
<td><script>document.write(GetraenkeListe["Mojito"].preis+" €")</script></td>
<td><script>document.write(GetraenkeListe["Mojito"].menge)</script></td>
<td>=||=||=</td>
<td>Erdnuesse 200Gr. Packung</td>
<td><script>document.write(SnackListe["Erdnuesse"].preis+" €")</script></td>
<td><script>document.write(SnackListe["Erdnuesse"].menge)</script></td>
</tr>
<tr>
<td>Beck`s 0,33 Flasche</td>
<td><script>document.write(GetraenkeListe["Becks"].preis+" €")</script></td>
<td> <script>document.write(GetraenkeListe["Becks"].menge)</script></td>
<td>=||=||=</td>
<td>Pistazien 200Gr. Packung</td>
<td><script>document.write(SnackListe["Pistazien"].preis+" €")</script></td>
<td><script>document.write(SnackListe["Pistazien"].menge)</script></td>
</tr>
<tr>
<td>Gambrinus 0,5 Flasche</td>
<td><script>document.write(GetraenkeListe["Gambrinus"].preis+" €")</script></td>
<td><script>document.write(GetraenkeListe["Gambrinus"].menge)</script></td>
<td>=||=||=</td>
<td>Brotchips 200Gr. Packung</td>
<td><script>document.write(SnackListe["Brotchips"].preis+" €")</script></td>
<td><script>document.write(SnackListe["Brotchips"].menge)</script></td>
</tr>

</table>



<h2 align="center">Verkaufsbereich</h2>





<label for="name">Artikel:</label>
<input id="id1" type="text" value="">
<input type="button" value="EINGABE"
               onclick="speichern1()">
   <br>
   <br>
<script>
function speichern1(){
    a = document.getElementById("id1");
               alert(a.value);
}
</script>
  
  
  
    <label for="name">Menge:</label>
<input id="id2" type="number" value>
<input type="button" value="EINGABE"
               onclick="speichern2()">
   <br>
   <br>
   <script>
function speichern2(){
    b = document.getElementById("id2");
   alert(b.value);
   }
</script>
      

<script>
function verkaufen(){
  
   x = a.value;
switch(x){
case "cola":
c = GetraenkeListe["Cola"].preis*b.value;
alert(c + " Euro");
break;

case "mojito":
c = GetraenkeListe["Mojito"].preis*b.value;
alert(c + " Euro");
break;

case "becks":
c = GetraenkeListe["Becks"].preis*b.value;
alert(c + " Euro");
break;

case "gambrinus":
c = GetraenkeListe["Gambrinus"].preis*b.value;
alert(c + " Euro");
break;

case "chips":
c = SnackListe["Chips"].preis*b.value;
alert(c + " Euro");
break;

case "erdnuesse":
c = SnackListe["Erdnuesse"].preis*b.value;
alert(c + " Euro");
break;

case "pistazien":
c = SnackListe["Pistazien"].preis*b.value;
alert(c + " Euro");
break;

case "brotchips":
c = SnackListe["Brotchips"].preis*b.value;
alert(c + " Euro");
break;

default:
alert ("Pass auf was du eingibst!");
}
    
        }
</script>





<input type="button" value="BETRAG"
           onclick="verkaufen()">
   <br>
   <br>
  
   <script>
  
   function aktualisieren(){
  
   x = a.value;
      
  switch(x){
case "cola":
cola = GetraenkeListe["Cola"].menge - b.value;
document.getElementById("a1").innerHTML = cola;
alert("Bestand von Cola: " +cola+ " Stueck");
break;

case "mojito":
GetraenkeListe["Mojito"].menge = GetraenkeListe["Mojito"].menge - b.value;
alert("Bestand von Mojito: " +GetraenkeListe["Mojito"].menge+ " Stueck");
break;

case "becks":
GetraenkeListe["Becks"].menge = GetraenkeListe["Becks"].menge - b.value;
alert("Bestand von Becks: " +GetraenkeListe["Becks"].menge+ " Stueck");
break;

case "gambrinus":
GetraenkeListe["Gambrinus"].menge = GetraenkeListe["Gambrinus"].menge - b.value;
alert("Bestand von Gambrinus: " +GetraenkeListe["Gambrinus"].menge+ " Stueck");
break;

case "chips":
SnackListe["Chips"].menge = SnackListe["Chips"].menge - b.value;
alert("Bestand von Chips: " + SnackListe["Chips"].menge+ " Stueck");
break;

case "erdnuesse":
SnackListe["Erdnuesse"].menge = SnackListe["Erdnuesse"].menge - b.value;
alert("Bestand von Erdnuessen: " + SnackListe["Erdnuesse"].menge+ " Stueck");
break;

case "pistazien":
SnackListe["Pistazien"].menge = SnackListe["Pistazien"].menge - b.value;
alert("Bestand von Pistazien: " + SnackListe["Pistazien"].menge+ " Stueck");
break;

case "brotchips":
SnackListe["Brotchips"].menge = SnackListe["Brotchips"].menge - b.value;
alert("Bestand von Brotchips: " + SnackListe["Brotchips"].menge+ " Stueck");
break;

default:
alert ("Falsche Eingabe");
  
  }
        }

</script>

<input type="button" value="AKTUALISIEREN"
           onclick="aktualisieren()">

  
  
  

</body>
</html>

Leider musste ich feststellen, dass Wert nicht gespeichert wird - ich habe also IMMER 300 Stück.
Somit muss ich nicht nur den Wert in der Spalte überschreiben, sondern den Attributewert vom Objekt "Getraenk" verändern.
Jemand eine Idee?



Re: Tabelleninhalte ändern

Autor: Urwald
Datum: 19.06.2013 22:44:21

Habe deinen Rat befolgt und nachgelesen. Als Ergebnis kam der Versuch mit "getElementById" zu arbeiten
In dem Code habe ich es nur für den Artikel "Cola" realisiert

<!DOCTYPE html>

<html lang="de">
    <head>
        <meta charset="utf-8" />
<title>Warenbestand </title>
<link href="styles/default.css" rel="stylesheet" type="text/css" />
<style type="text/css">

body{font-family: Arial, serif; color: red; background-color: black;}

h1{margin:0px 0px 50px 0px;}
h2{margin:30px 0px 30px 0px;}

    
</style>

    </head>

<body>

<script type="text/javascript">

function Getraenk(preis, menge){
//Atributte

this.preis = preis;

this.menge = menge;

}

GetraenkeListe = new Array();

GetraenkeListe["Cola"]    =   new Getraenk(1.50, 300);
GetraenkeListe["Mojito"]  =   new Getraenk(2.50, 300);
GetraenkeListe["Becks"]   =   new Getraenk(2.50, 300);
GetraenkeListe["Gambrinus"]   =   new Getraenk(3.00, 300);

function Snack(preis, menge){
//Atributte

this.preis = preis;

this.menge = menge;

}

SnackListe = new Array();

SnackListe["Chips"]      =   new Snack(2.00, 150);
SnackListe["Erdnuesse"]    =   new Snack(2.00, 150);
SnackListe["Pistazien"]    =   new Snack(2.00, 150);
SnackListe["Brotchips"]    =   new Snack(2.00, 150);

</script>

<h1 align="center">Der Kopf tut weh, die Füße stinken = höchste Zeit ein Bier zu trinken!</h1>
<table align="center" border="1" cellpadding="15" cellspacing="10" >
<tr>
   <th colspan="15"> THEKE </th>
</tr>
<tr>
<th>Getraenk</th>
<th>Preis</th>
<th>Menge</th>
<th>=||=||=</th>
<th>Snack</th>
<th>Preis</th>
<th>Menge</th>
</tr>

<tr>
<td>CocaCola 0,33 Flasche</td>
<td><script>document.write(GetraenkeListe["Cola"].preis+" €")</script></td>
<td id="a1"><script>document.write(GetraenkeListe["Cola"].menge)</script></td>
<td>=||=||=</td>
<td>Chips 275Gr. Packung</td>
<td><script>document.write(SnackListe["Chips"].preis+" €")</script></td>
<td><script>document.write(SnackListe["Chips"].menge)</script></td>
</tr>
<tr>
<td>Mojito 0,33 Flasche</td>
<td><script>document.write(GetraenkeListe["Mojito"].preis+" €")</script></td>
<td><script>document.write(GetraenkeListe["Mojito"].menge)</script></td>
<td>=||=||=</td>
<td>Erdnuesse 200Gr. Packung</td>
<td><script>document.write(SnackListe["Erdnuesse"].preis+" €")</script></td>
<td><script>document.write(SnackListe["Erdnuesse"].menge)</script></td>
</tr>
<tr>
<td>Beck`s 0,33 Flasche</td>
<td><script>document.write(GetraenkeListe["Becks"].preis+" €")</script></td>
<td> <script>document.write(GetraenkeListe["Becks"].menge)</script></td>
<td>=||=||=</td>
<td>Pistazien 200Gr. Packung</td>
<td><script>document.write(SnackListe["Pistazien"].preis+" €")</script></td>
<td><script>document.write(SnackListe["Pistazien"].menge)</script></td>
</tr>
<tr>
<td>Gambrinus 0,5 Flasche</td>
<td><script>document.write(GetraenkeListe["Gambrinus"].preis+" €")</script></td>
<td><script>document.write(GetraenkeListe["Gambrinus"].menge)</script></td>
<td>=||=||=</td>
<td>Brotchips 200Gr. Packung</td>
<td><script>document.write(SnackListe["Brotchips"].preis+" €")</script></td>
<td><script>document.write(SnackListe["Brotchips"].menge)</script></td>
</tr>

</table>



<h2 align="center">Verkaufsbereich</h2>





<label for="name">Artikel:</label>
<input id="id1" type="text" value="">
<input type="button" value="EINGABE"
               onclick="speichern1()">
   <br>
   <br>
<script>
function speichern1(){
    a = document.getElementById("id1");
               alert(a.value);
}
</script>
  
  
  
    <label for="name">Menge:</label>
<input id="id2" type="number" value>
<input type="button" value="EINGABE"
               onclick="speichern2()">
   <br>
   <br>
   <script>
function speichern2(){
    b = document.getElementById("id2");
   alert(b.value);
   }
</script>
      

<script>
function verkaufen(){
  
   x = a.value;
switch(x){
case "cola":
c = GetraenkeListe["Cola"].preis*b.value;
alert(c + " Euro");
break;

case "mojito":
c = GetraenkeListe["Mojito"].preis*b.value;
alert(c + " Euro");
break;

case "becks":
c = GetraenkeListe["Becks"].preis*b.value;
alert(c + " Euro");
break;

case "gambrinus":
c = GetraenkeListe["Gambrinus"].preis*b.value;
alert(c + " Euro");
break;

case "chips":
c = SnackListe["Chips"].preis*b.value;
alert(c + " Euro");
break;

case "erdnuesse":
c = SnackListe["Erdnuesse"].preis*b.value;
alert(c + " Euro");
break;

case "pistazien":
c = SnackListe["Pistazien"].preis*b.value;
alert(c + " Euro");
break;

case "brotchips":
c = SnackListe["Brotchips"].preis*b.value;
alert(c + " Euro");
break;

default:
alert ("Pass auf was du eingibst!");
}
    
        }
</script>





<input type="button" value="BETRAG"
           onclick="verkaufen()">
   <br>
   <br>
  
   <script>
  
   function aktualisieren(){
  
   x = a.value;
      
  switch(x){
case "cola":
cola = GetraenkeListe["Cola"].menge - b.value;
document.getElementById("a1").innerHTML = cola;
alert("Bestand von Cola: " +cola+ " Stueck");
break;

case "mojito":
GetraenkeListe["Mojito"].menge = GetraenkeListe["Mojito"].menge - b.value;
alert("Bestand von Mojito: " +GetraenkeListe["Mojito"].menge+ " Stueck");
break;

case "becks":
GetraenkeListe["Becks"].menge = GetraenkeListe["Becks"].menge - b.value;
alert("Bestand von Becks: " +GetraenkeListe["Becks"].menge+ " Stueck");
break;

case "gambrinus":
GetraenkeListe["Gambrinus"].menge = GetraenkeListe["Gambrinus"].menge - b.value;
alert("Bestand von Gambrinus: " +GetraenkeListe["Gambrinus"].menge+ " Stueck");
break;

case "chips":
SnackListe["Chips"].menge = SnackListe["Chips"].menge - b.value;
alert("Bestand von Chips: " + SnackListe["Chips"].menge+ " Stueck");
break;

case "erdnuesse":
SnackListe["Erdnuesse"].menge = SnackListe["Erdnuesse"].menge - b.value;
alert("Bestand von Erdnuessen: " + SnackListe["Erdnuesse"].menge+ " Stueck");
break;

case "pistazien":
SnackListe["Pistazien"].menge = SnackListe["Pistazien"].menge - b.value;
alert("Bestand von Pistazien: " + SnackListe["Pistazien"].menge+ " Stueck");
break;

case "brotchips":
SnackListe["Brotchips"].menge = SnackListe["Brotchips"].menge - b.value;
alert("Bestand von Brotchips: " + SnackListe["Brotchips"].menge+ " Stueck");
break;

default:
alert ("Falsche Eingabe");
  
  }
        }

</script>

<input type="button" value="AKTUALISIEREN"
           onclick="aktualisieren()">

  
  
  

</body>
</html>

Leider musste ich feststellen, dass Wert nicht gespeichert wird - ich habe also IMMER 300 Stück.
Somit muss ich nicht nur den Wert in der Spalte überschreiben, sondern den Attributewert vom Objekt "Getraenk" verändern.
Jemand eine Idee?



Re: Tabelleninhalte ändern

Autor: reporter
Datum: 19.06.2013 23:37:25

> Habe deinen Rat befolgt und nachgelesen. Als
> Ergebnis kam der Versuch mit "getElementById" zu
> arbeiten

ich habe nicht "getElementById()" gemeint, sondern "getElementsByTagname()".



> Leider musste ich feststellen, dass Wert nicht
> gespeichert wird - ich habe also IMMER 300 Stück.
>
> Somit muss ich nicht nur den Wert in der Spalte
> überschreiben, sondern den Attributewert vom
> Objekt "Getraenk" verändern.
> Jemand eine Idee?

Habe ein bischen Geduld und warte auf men Lösungsvorschlag.



Re: Tabelleninhalte ändern

Autor: Reporter
Datum: 20.06.2013 17:32:18

Anbei mein Vorschlag:

<html>
<head>
<meta charset="utf-8" />
<title>Warenbestand </title>
<link href="styles/default.css" rel="stylesheet" type="text/css" />
<style type="text/css">
body{font-family: Arial, serif; color: red; background-color: black;}
h1{margin:0px 0px 50px 0px;}
h2{margin:30px 0px 30px 0px;}
</style>
<script type="text/javascript">
var a;
var b;
var c = 0;
produktlisteGindex = -1;
produktlisteSindex = -1;

function Getraenk(id, produktTitel, produktPreis, produktMenge)
{
//Atributte
this.id = id;
this.titel = produktTitel;
this.preis = produktPreis;
this.menge = produktMenge;
}
function Snack(id, produktTitel, produktPreis, produktMenge)
{
//Atributte
this.id = id;
this.titel = produktTitel;
this.preis = produktPreis;
this.menge = produktMenge;
}

var GetraenkeListe = new Array();
GetraenkeListe.push(new Getraenk("Cola","CocaCola 0,33 Flasche", 1.50, 300));
GetraenkeListe.push(new Getraenk("Mojito","Mojito 0,33 Flasche", 2.50, 300));
GetraenkeListe.push(new Getraenk("Becks","Beck`s 0,33 Flasche", 2.50, 300));
GetraenkeListe.push(new Getraenk("Gambius","Gambrinus 0,5 Flasche", 3.00, 300));
SnackListe = new Array();
SnackListe.push(new Snack("Chips", "Chips 275Gr. Packung",2.00, 150));
SnackListe.push(new Snack("Erdnuesse", "Erdnuesse 200Gr. Packung", 2.00, 150));
SnackListe.push(new Snack("Pistazien", "Pistazien 200Gr. Packung", 2.00, 150));
SnackListe.push(new Snack("Brotchips", "Brotchips 200Gr. Packung", 2.00, 150));

function speichern1()
{
a = document.getElementById("id1").value;
}
function speichern2()
{
b = document.getElementById("id2").value;
}

function verkaufen()
{
for (iii = 0; iii < GetraenkeListe.length; iii++)
{
if (GetraenkeListe[iii].id == a ) { produktlisteGindex = iii;}
if (SnackListe[iii].id == a) { produktlisteSindex = iii;}
}
if (produktlisteSindex > -1)
{
c = SnackListe[produktlisteSindex].preis * b;
} else if (produktlisteGindex > -1) {
c = GetraenkeListe[produktlisteGindex].preis * b;
} else {
alert ("verkaufen() - Falsche Eingabe.");
}
}
function aktualisieren()
{
for (iii = 0; iii < GetraenkeListe.length; iii++)
{
if (GetraenkeListe[iii].id == a ) { produktlisteGindex = iii;}
if (SnackListe[iii].id == a) { produktlisteSindex = iii;}
}
if (produktlisteSindex > -1)
{
SnackListe[produktlisteSindex].menge = SnackListe[produktlisteSindex].menge - b;
erstelleTabelle();
} else if (produktlisteGindex > -1) {
GetraenkeListe[produktlisteGindex].menge = GetraenkeListe[produktlisteGindex].menge - b;
erstelleTabelle();
} else {
alert ("aktualisieren() - Falsche Eingabe.");
}
}

function erstelleTabelle()
{
var tabellenObjekt = document.getElementsByTagName("table")[0];
var vorhandeneZeilen = tabellenObjekt.getElementsByTagName("tr");
//Löschen der bisherigen Tabelleneilen mit den Produkten, jedoch nicht die
//ersten beiden Überschriftszeilen (wird immer ausgeführt
var startPostion = 2;
while (vorhandeneZeilen.length > startPostion)
{
vorhandeneZeilen[startPostion].parentNode.removeChild(vorhandeneZeilen[startPostion]);
}

//Sammelbehälter zum automatischen Hinzufügen der Tabellen-
//zeilen
var tabellenzeilenSammelkiste = new Array();

for (ii = 0; ii < GetraenkeListe.length; ii++)
{
spaltenZeile1 = erstelleSpalte("td", GetraenkeListe[ii].titel);
tabellenZeile = createTabellenZeile(null, spaltenZeile1);
spaltenZeile2 = erstelleSpalte("td", GetraenkeListe[ii].preis);
tabellenZeile = createTabellenZeile(tabellenZeile, spaltenZeile2);
spaltenZeile3 = erstelleSpalte("td", GetraenkeListe[ii].menge);
tabellenZeile = createTabellenZeile(tabellenZeile, spaltenZeile3);
spaltenZeile4 = erstelleSpalte("td", "");
tabellenZeile = createTabellenZeile(tabellenZeile, spaltenZeile4);
spaltenZeile5 = erstelleSpalte("td", SnackListe[ii].titel);
tabellenZeile = createTabellenZeile(tabellenZeile, spaltenZeile5);
spaltenZeile6 = erstelleSpalte("td", SnackListe[ii].preis);
tabellenZeile = createTabellenZeile(tabellenZeile, spaltenZeile6);
spaltenZeile7 = erstelleSpalte("td", SnackListe[ii].menge);
tabellenZeile = createTabellenZeile(tabellenZeile, spaltenZeile7);
tabellenzeilenSammelkiste.push(tabellenZeile);
}

//Anhängen der Tabellenzeilen mit den Produkten an die
//ursprüngliche Tabelle
for each(tabzeile in tabellenzeilenSammelkiste)
{
tabellenObjekt.appendChild(tabzeile);
}
}

function createTabellenZeile(zeilenobjekt, spaltenobjekt)
{
var trObjekt = zeilenobjekt;
if (zeilenobjekt == null)
{
trObjekt = document.createElement("tr");
}
trObjekt.appendChild(spaltenobjekt);
return trObjekt;
}


function erstelleSpalte(spaltentyp, spaltentext)
{
dietabellenspalte = document.createElement(spaltentyp);
derspaltentext = document.createTextNode(spaltentext);
dietabellenspalte.appendChild(derspaltentext);
return dietabellenspalte;
}

</script>
</head>
<body onload="erstelleTabelle()">
<h1 align="center">Der Kopf tut weh, die Füße stinken = höchste Zeit ein Bier zu trinken!</h1>
<table align="center" border="1" cellpadding="15" cellspacing="10" >
<tr>
<th colspan="7"> THEKE </th>
</tr>
<tr>
<th>Getränk</th>
<th>Preis</th>
<th>Menge</th>
<th>       </th>
<th>Snack</th>
<th>Preis</th>
<th>Menge</th>
</tr>
</table>
<h2 align="center">Verkaufsbereich</h2>
<label for="name">Artikel:</label>
<input id="id1" type="text" value=""> <input type="button" value="EINGABE" onclick="speichern1()">
<br>
<br>
<label for="name">Menge:</label>
<input id="id2" type="number" value> <input type="button" value="EINGABE" onclick="speichern2()">
<br>
<br>
<input type="button" value="BETRAG" onclick="verkaufen()"> <input type="button" value="AKTUALISIEREN" onclick="aktualisieren()">
</body>
</html>