• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Zugriff auf Wert in einer Tabelle

SoAnn

New member
Hallo,

ich habe noch nicht soviel Erfahrung mit dem Erstellen einer Website. Jedoch kam bisher schon einiges sinnvolles Zustande. Jetzt möchte ich gerne ein paar Berechnungen in der Tabelle machen.
Ich möchte gerne auf den Wert in der 3. Spalte und 2. Zeile zugreifen können und damit neben dem Wert in der 2. Spalte und 2. Zeile ein "OFF" bzw. "ON" anzeigen lassen. Also für das Verständnis mal ein Beispiel:

https://www.dropbox.com/s/jkvkep717e...Frage.PNG?dl=0

so sieht bisher die Tabelle in der Website aus.
In der 3. und 4. Spalte kann man selber die Werte festlegen und eintippen. Nun soll, wenn in der zweiten Spalte "24" eingetippt wird, ein "ON" erscheinen, wenn der aktuelle Wert nicht gleich "24" ist. Ansonsten soll ein "OFF" erscheinen.
Außerdem möchte ich, dass ein Grenzwert eingeben werden kann und diesen soll man dem Sollwert subtrahieren und addieren und dann soll dieser Wert mit dem aktuellen Wert übereinstimmen ansonsten soll auch ein "ON" erscheinen. Der aktuelle Wert, die Zahl vor dem "ON"/"OFF" darf sich aber nicht ändern.

Ich hab in dem untenstehenden Code. Erstmal für den aktuellen Wert und den Sollwert Werte festgelegt. Aber dies soll gerne geändert werden. Ich komme da halt nicht weiter. Deshalb erstmal zum Verstehen diese Variante.

Ich hoffe, dass ich mein Sachverhalt einigermaßen verständlich erklärt habe. Ich bin schon sehr auf eure Kommentare gespannt und bitte um Hilfe!

HTML:
<table border="1">
	  <tr>
		<td rowspan="3"><b> Wassertemperatur in °C   </b>
		
	  
		<td>  aktueller Wert  </td>
	  	<td>  Stellwert  </td>
		<td>  Grenzwert  </td>
		<tr>
		<td>  <script type="text/javascript">
			var inhalt = 20;
			var wert = 22;
			if (inhalt = wert){
				document.write( inhalt + "   OFF");
			
			}else{
				document.write(wert + "    ON");
			}

			</script>  </td>
	  	<td>      <form><input type="text" size="3" name="a" id="a" /><button type="button" onclick="add();">↑</button><button type="button" onclick="sub();">↓</button></form>
<script type="text/javascript">
function add()
{
  a = parseFloat(document.getElementById('a').value);
  b = 0.1;
  c = a + b;
  document.getElementById('a').value = c.toFixed(1);
  }
function sub()
{
  a = parseFloat(document.getElementById('a').value);
  b = 0.1;
  c = a - b;
  document.getElementById('a').value = c.toFixed(1);
  }
</script>   </td>
		<td>      <form><input type="text" size="3" name="d" id="d" /><button type="button" onclick="add1();">↑</button><button type="button" onclick="sub1();">↓</button></form>
<script type="text/javascript">
function add1()
{
  d = parseFloat(document.getElementById('d').value);
  b = 0.1;
  c = d + b;
  document.getElementById('d').value = c.toFixed(1);
  }
function sub1()
{
  d = parseFloat(document.getElementById('d').value);
  b = 0.1;
  c = d - b;
  document.getElementById('d').value = c.toFixed(1);
  }
</script>   </td>
		</tr>
		
	  </table>
 
Kurz zu deinem Code: Das Attribut type="text/javascript" im script Tag kannst du weg lassen.

Zum Post: Es wird hier als freundlich empfunden, wenn man Crosspostings kenntlich macht. Im anderen Forum wurdest du auch schon darauf hingewiesen. Grund: ein Antwortender kann dann nachschauen, ob die Antwort nicht vielleicht schon in einem anderen Forum gegeben wurde und sich die Zeit sparen.
Zugriff auf Wert in einer Tabelle? - XHTMLforum
und andere...

Zur Frage: Wo genau liegt jetzt das Problem? Du brauchst einen Auslöser für den Start der Berechnung, nennt sich Event in JS. Ist im Grunde so wie bei deinen Buttons, dort heißt das Event onclick. Und dann rufst du deine Berechnungsfunktion auf. Das ist im Grunde alles.
SELFHTML: JavaScript / Sprachelemente / Event-Handler
Achso, und um an den Wert in einer Zelle zu kommen kannst du je nach dem entweder this benutzen, wenn der Eventhandler im Feld steht oder du nutzt eine Adresse im DOM (z.B. eine ID) oder du hangelst dich im DOM durch z.B. mit fistChild() usw.
SELFHTML: JavaScript / Objektreferenz / node
SELFHTML: JavaScript / Sprachelemente / Objekte, Eigenschaften und Methoden
SELFHTML: Dynamisches HTML / DHTML-Modelle / Das Document Object Model (DOM)
 
Zuletzt bearbeitet:
da sind schon mal einige Fehler drin:
- in der ersten table-row fehlt der schließende </tr>
- Vergleiche macht man nicht mit =
- document.write() löscht deine Seite nach dem Laden
- wenn du kein Formular abschicken willst oder keine Formular-spezifische Funktionalität brauchst => weglassen
- deine <input> brauchen kein name-Attribut
- dein erster <script> Block ist zweckfrei. Da du nur feste Variablenwerte hast, kannst du auch gleich 'OFF' überall reinschreiben
- verwende CSS padding anstelle von  

nicht unbedingt ein Fehler, aber die <script> Blöcke müssen nicht im Formular stehen, das können auch externe JS-Dateien sein.

Dann zum Thema. Statt der Formulare kannst du auch einfach ein numerisches Input-Feld (<input type="number">) verwenden (sofern du nicht auf alte Browserversionen Rücksicht nehmen mußt).

Falls das nicht geht, kann man die JS-Funktionen deutlich vereinfachen, indem man keine festen IDs verwendet, sondern diese als Parameter übergibt.

Bwei dem ON/OFF hängt es davon ab, was inhalt und wert eigentlich sind, bzw. wann was dargestellt werden soll.
 
Zurück
Oben