• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Javascript Variablen aus csv übergeben

Cockpit

Neues Mitglied
Hallo zusammen,

ich möchte aufgrund der Relation zweier Zahlen (Umsatz ist und Umsatz Soll) in einer CSV-Datei ein unterschiedliches Bild (Ampel rot, gelb und grün) ausgeben lassen.

datenquelle.csv:
Stand (Datum);Umsatz IST (in T Euro);Umsatz SOLL (in T Euro); ...
27.05.2013;zahl1;zahl2; ...

Jetzt lese ich die Datei im HTML-Body aus:
<object id="datenquelle" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">
<param name="DataURL" value="datenquelle.csv">
<param name="UseHeader" value="true">
<param name="FieldDelim" value=";">
</object>

So weit, so gut. Die Werte kann ich nun z.B. mit <span datafld="Umsatz IST (in T Euro)"></span> auslesen. Aber wie bekomme ich die Werte nun als Zahlen an javascript übergeben. Mein Ansatz war, der o.g. Variable eine id zuzuweisen und sie dann mit getElementbyId zu übergeben. Im Body steht also:

<td>
Umsatz IST: <span id="umsatzist" datafld="Umsatz IST (in T Euro)"></span><br>
Umsatz SOLL: <span id="umsatzsoll" datafld="Umsatz SOLL (in T Euro)"></span>
<script type="text/javascript" language="JavaScript">
<!--
ampelumsatz(document.getElementById("umsatzist"),document.getElementById("umsatzsoll"));
//-->
</script>
</td>

und im Head die Funktion:

function ampelumsatz(umsatzist,umsatzsoll)
{
if (umsatzist < umsatzsoll*0.9) {document.write(umsatzampelrot); return}
if (umsatzist >= umsatzsoll) {document.write(umsatzampelgruen); return}
else {document.write(umsatzampelgelb); return}
}

Die Bilder sind darüber definiert:
var umsatzampelrot = '<img src="CockpitDateien/ampelro.jpg" border="0" alt="Ist-Umsatz unter 90% des Soll-Umsatzes">';
var umsatzampelgelb = '<img src="CockpitDateien/ampelge.jpg" border="0" alt="Ist-Umsatz bei 90%-100% des Soll-Umsatzes">';
var umsatzampelgruen = '<img src="CockpitDateien/ampelgr.jpg" border="0" alt="Ist-Umsatz mindestens Soll-Umsatz">';

Wo ist der Fehler?

Danke Euch schon mal!!!
Colin
 
Könnte es sein, dass es in der Ausgabe im Browser die IDs umsatzist und umsatzsoll mehrfach gibt? Dann könntest Du damit nicht arbeiten, da das kein valider HTML-Code ist und JavaScript nicht wüsste, welches Element mit dieser ID es nun nehmen soll.

Ich habe damit noch nicht gearbeitet, aber wie sieht denn die Ausgabe im Web bei

HTML:
<span id="umsatzist" datafld="Umsatz IST (in T Euro)"></span>

aus? Steht der Wert innerhalb des span oder wird das span komplett durch den Wert ersetzt? Wenn ersteres, dann ist der Wert (wenn man noch von IDs ausgeht) per

Code:
document.getElementById("umsatzist").innerHTML

zugreifen. Aber wie gesagt, denke ich, dass Du auf die IDs verzichten solltest.
 
geht leider nicht - gibt es noch eine andere Möglichkeit, Zahlen aus einer xls/csv auszulesen (mit welcher Sprache/ welchem Tool auch immer) und in js zu verwenden?
Oder falls nicht; welche Sprache könnte oben genanntes anstelle von js?
 
Und was ist mit dieser Frage?

Könnte es sein, dass es in der Ausgabe im Browser die IDs umsatzist und umsatzsoll mehrfach gibt?

geht leider nicht

D.h.? Was passiert? Was passiert nicht? Was sagt die JavaScript-Konsole?

Oder falls nicht; welche Sprache könnte oben genanntes anstelle von js?

Jede serverseitige Sprache kann CSV-Dateien auseinandernehmen und deren Inhalte auf was für eine Art auch immer verarbeiten. Bei PHP gibt es sogar fertige Funktionen zum Auslesen der Inhalte solcher Dateien.
 
Hi!

eigentlich sollte es umsatzist und umsatzsoll nur einfach geben.
Wie finde ich heraus, was die Konsole sagt? Ich habe leider nur den Phase 5 HTML Editor ohne weitere Programmiertools.

Mit PHP kenne ich mich leider wenig aus, aber ich bin Einlesewillig ;) Kannst Du mir ein gutes Tutorial o.ä. für die o.g. Befehle zum Auslesen der Inhalte nahelegen oder empfehlen?

Danke! :)
 
"Sollte"? Schau in dem Quellcode nach der im Browser ankommt. Dann weißt Du es sicher. Sehr gut kann man das z.B. mit der Firefox-Erweiterung Webdeveloper unter "generierten Quellcode ansehen" anschauen. Oder mit der Firefox- und Chrome-Erweiterung Firebug.

Zur Fehlerkonsole haben wir hier einen Beitrag:
Fehlerkonsole
 
Zurück
Oben