NEWS
Anfänger braucht Hilfe bei einem Script
-
Hallo Leute, ich habe mehrere Datenpunkte angelegt, die ich mit Hilfe eines Scriptes in HTML-Code für mein Vis zusammenfügen möchte.
Wie im Betreff schon erwähnt, bin ich noch totaler Anfänger
Ich habe mich durch verschiedene Scripts die hier im Forum veröffentlicht wurden durchgesucht, bekomme es aber leider nicht hin.
Es soll später so aussehen:``` Ziel Linie Uhrzeit Verspätung Mön. Clemens-August-Str. 001 16:16 3 ` Zur Zeit sieht es aber leider so aus:
Ziel Linie Uhrzeit Verspätung javascript.0.Verkehr.Richtung_MG.Haltestelle0 javascript.0.Verkehr.Richtung_MG.Linie0 javascript.0.Verkehr.Richtung_MG.Startzeit0 javascript.0.Verkehr.Richtung_MG.Verspaetung0 ` Der Code sieht so aus:
var linie1 = getstate('javascript.0.Verkehr.Richtung_MG.Linie0').val; var zeit1 = getstate('javascript.0.Verkehr.Richtung_MG.Startzeit0').val; var versp1 = getstate('javascript.0.Verkehr.Richtung_MG.Verspaetung0').val; var html = "ZielLinieUhrzeit1Verspätung "; createState('Verkehr.MG', " "); html+=""; html+=""+ziel1+"" html+=""+linie1+""; html+=""+zeit1+""; html+=""+versp1+"" html+=" "; html+=""; setState('Verkehr.MG', html);` Was muß ich wo ändern, damit es klappt. Ich vermute mal es liegt an den ersten 4 Zeilen, aber ich weiß nicht was ich da ändern muß.
-
Nimm getState und nicht getstate (das S groß)
Gruß
Christian
-
Nimm getState und nicht getstate (das S groß)
Gruß
Christian `
Super, vielen Dank!!!!
Hat geklappt
-
Ich möchte das jetzt ein bisschen umbauen und statt html json verwenden.
Das erstellen funktioniert bis auf ein kleines Problem auch super.
Hier der Code:````
var ziel1 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle0').val;
var linie1 = getState('javascript.0.Verkehr.Richtung_MG.Linie0').val;
var zeit1 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit0').val;
var versp1 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung0').val;createState('Verkehr.MG1', " ");
var html ="[{'Zielhaltestelle':'"+ziel1+"','Linie':'"+linie1+"','Uhrzeit':'"+zeit1+"','Verspätung':'"+versp1+"'}]"
setState('Verkehr.MG1', html);
Das Ergebnis sieht so aus:```` [{'Zielhaltestelle':'Mön. Clemens-August-Str.','Linie':'001','Uhrzeit':'16:16','Verspätung':'3'}]
Leider akzeptiert das VIS ja nicht, da es so aussehen muß:````
[{"Zielhaltestelle":"Mön. Clemens-August-Str.","Linie":"001","Uhrzeit":"16:16","Verspätung":"3"}]Wie kann ich das so umsetzen? Also Doppeltes Hochkomma, statt einfaches. EDIT: Habs hinbekommen:
var ziel1 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle0').val;
var linie1 = getState('javascript.0.Verkehr.Richtung_MG.Linie0').val;
var zeit1 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit0').val;
var versp1 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung0').val;createState('Verkehr.MG1', " ");
var json ="[{"Zielhaltestelle":""+ziel1+"","Linie":""+linie1+"","Uhrzeit":""+zeit1+"","Verspätung":""+versp1+""}]"
setState('Verkehr.MG1', json);
-
' " ' dürfte auch gehen dann sparst du dir die cryptischen backslashes
-
Brauche jetzt doch nochmal Hilfe.
Möchte in der Tabelle nachher 4 Zeiten drin haben. Meine Lösung funktioniert auch, nur es geht einfacher, bekomme es aber leider nicht hin. Wie muß ich das umsetzen, wenn ich das mit Schleifen machen möchte.````
var ziel1 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle0').val;
var linie1 = getState('javascript.0.Verkehr.Richtung_MG.Linie0').val;
var zeit1 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit0').val;
var versp1 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung0').val;
var ziel2 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle1').val;
var linie2 = getState('javascript.0.Verkehr.Richtung_MG.Linie1').val;
var zeit2 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit1').val;
var versp2 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung1').val;
var ziel3 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle2').val;
var linie3 = getState('javascript.0.Verkehr.Richtung_MG.Linie2').val;
var zeit3 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit2').val;
var versp3 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung2').val;
var ziel4 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle3').val;
var linie4 = getState('javascript.0.Verkehr.Richtung_MG.Linie3').val;
var zeit4 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit3').val;
var versp4 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung3').val;
var json /
createState('Verkehr.MG1', " ");json ="[{"Zielhaltestelle":""+ziel1+"","Linie":""+linie1+"","Uhrzeit":""+zeit1+"","Verspätung in min.":""+versp1+""},"
json +="{"Zielhaltestelle":""+ziel2+"","Linie":""+linie2+"","Uhrzeit":""+zeit2+"","Verspätung in min.":""+versp2+""},"
json +="{"Zielhaltestelle":""+ziel3+"","Linie":""+linie3+"","Uhrzeit":""+zeit3+"","Verspätung in min.":""+versp3+""},"
json +="{"Zielhaltestelle":""+ziel4+"","Linie":""+linie4+"","Uhrzeit":""+zeit4+"","Verspätung in min.":""+versp4+""}]"setState('Verkehr.MG1', json);
Habe es versucht, aber ich komme da leider nicht weiter. Weiß absolut nicht, wie ich das mit den Variablen umsetzen muß.
-
Musst du mal prüfen so.
var pre='javascript.0.Verkehr.Richtung_MG.'; var ka=['Haltestelle', 'Linie', 'Startzeit', 'Verspaetung']; for( var i=0,json='['; i<4; i++ ) { json+='"Ziehaltestelle":"' + getState(pre+ka[0]+i.toString() ).val + '","Linie":"' + getState(pre+ka[1]+i.toString() ).val + '","Uhrzeit":"' +getState(pre+ka[2]+i.toString() ).val + '","Verspätung":"' +getState(pre+ka[3]+i.toString() ).val + '"'; } json+=']'; createState('Verkehr.MG1', " "); setState('Verkehr.MG1', json);
Aber so war kacke:
var ziel1 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle0').val; var linie1 = getState('javascript.0.Verkehr.Richtung_MG.Linie0').val; var zeit1 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit0').val; var versp1 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung0').val; var ziel2 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle1').val; var linie2 = getState('javascript.0.Verkehr.Richtung_MG.Linie1').val; var zeit2 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit1').val; var versp2 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung1').val; var ziel3 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle2').val; var linie3 = getState('javascript.0.Verkehr.Richtung_MG.Linie2').val; var zeit3 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit2').val; var versp3 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung2').val; var ziel4 = getState('javascript.0.Verkehr.Richtung_MG.Haltestelle3').val; var linie4 = getState('javascript.0.Verkehr.Richtung_MG.Linie3').val; var zeit4 = getState('javascript.0.Verkehr.Richtung_MG.Startzeit3').val; var versp4 = getState('javascript.0.Verkehr.Richtung_MG.Verspaetung3').val; var json / json ="[{\"Zielhaltestelle\":\""+ziel1+"\",\"Linie\":\""+linie1+"\",\"Uhrzeit\":\""+zeit1+"\",\"Verspätung in min.\":\""+versp1+"\"}," json +="{\"Zielhaltestelle\":\""+ziel2+"\",\"Linie\":\""+linie2+"\",\"Uhrzeit\":\""+zeit2+"\",\"Verspätung in min.\":\""+versp2+"\"}," json +="{\"Zielhaltestelle\":\""+ziel3+"\",\"Linie\":\""+linie3+"\",\"Uhrzeit\":\""+zeit3+"\",\"Verspätung in min.\":\""+versp3+"\"}," json +="{\"Zielhaltestelle\":\""+ziel4+"\",\"Linie\":\""+linie4+"\",\"Uhrzeit\":\""+zeit4+"\",\"Verspätung in min.\":\""+versp4+"\"}]" setState('Verkehr.MG1', json);
-
Musst du mal prüfen so.
var pre='javascript.0.Verkehr.Richtung_MG.'; var ka=['Haltestelle', 'Linie', 'Startzeit', 'Verspaetung']; for( var i=0,json='['; i<4; i++ ) { json+='"Ziehaltestelle":"' + getState(pre+ka[0]+i.toString() ).val + '","Linie":"' + getState(pre+ka[1]+i.toString() ).val + '","Uhrzeit":"' +getState(pre+ka[2]+i.toString() ).val + '","Verspätung":"' +getState(pre+ka[3]+i.toString() ).val + '"'; } json+=']'; createState('Verkehr.MG1', " "); setState('Verkehr.MG1', json); ```` `
Funktioniert nicht zu 100%
Da es so aussieht:
["Zielhaltestelle":"Mönchengl. Am Hommelsbach","Linie":"002","Uhrzeit":"17:40","Verspätung":"6""Zielhaltestelle":"Mönchengl. Künkelstraße","Linie":"001","Uhrzeit":"17:52","Verspätung":"0""Zielhaltestelle":"Mönchengl. Am Hommelsbach","Linie":"002","Uhrzeit":"18:10","Verspätung":"1""Zielhaltestelle":"Mönchengl. Künkelstraße","Linie":"001","Uhrzeit":"18:22","Verspätung":"0"]
aber es müßte so aussehen:
[{"Zielhaltestelle":"Mönchengl. Am Hommelsbach","Linie":"002","Uhrzeit":"17:40","Verspätung":"6"};{"Zielhaltestelle":"Mönchengl. Künkelstraße","Linie":"001","Uhrzeit":"17:52","Verspätung":"0"};{"Zielhaltestelle":"Mönchengl. Am Hommelsbach","Linie":"002","Uhrzeit":"18:10","Verspätung":"1"};{"Zielhaltestelle":"Mönchengl. Künkelstraße","Linie":"001","Uhrzeit":"18:22","Verspätung":"0"}]
Ich habe deinen Code etwas angepasst, klappt aber leider immer noch nicht ganz
var pre='javascript.0.Verkehr.Richtung_MG.'; var ka=['Haltestelle', 'Linie', 'Startzeit', 'Verspaetung']; for( var i=0,json='['; i<4; i++ ) { json+='{"Zielhaltestelle":"' + getState(pre+ka[0]+i.toString() ).val + '","Linie":"' + getState(pre+ka[1]+i.toString() ).val + '","Uhrzeit":"' +getState(pre+ka[2]+i.toString() ).val + '","Verspätung":"' +getState(pre+ka[3]+i.toString() ).val + '"};'; } json+=']'; createState('Verkehr.MG1', " "); setState('Verkehr.MG1', json);
Es sieht nämlich nun so aus
[{"Zielhaltestelle":"Mönchengl. Am Hommelsbach","Linie":"002","Uhrzeit":"17:40","Verspätung":"6"};{"Zielhaltestelle":"Mönchengl. Künkelstraße","Linie":"001","Uhrzeit":"17:52","Verspätung":"0"};{"Zielhaltestelle":"Mönchengl. Am Hommelsbach","Linie":"002","Uhrzeit":"18:10","Verspätung":"1"};{"Zielhaltestelle":"Mönchengl. Künkelstraße","Linie":"001","Uhrzeit":"18:22","Verspätung":"0"};]
Es muß das Semikolon am Ende zwischen den beiden schließenden Klammern weg
-
Mir fehlen halt die Werte
So besser
var pre='javascript.0.Verkehr.Richtung_MG.'; var ka=['Haltestelle', 'Linie', 'Startzeit', 'Verspaetung']; for( var i=0,json='['; i<4; i++ ) { json+='{"Ziehaltestelle":"' + getState(pre+ka[0]+i.toString() ).val + '","Linie":"' + getState(pre+ka[1]+i.toString() ).val + '","Uhrzeit":"' +getState(pre+ka[2]+i.toString() ).val + '","Verspätung":"' +getState(pre+ka[3]+i.toString() ).val + '"};'; } json=json.substr( 0, json.length-1 ) + ']'; createState('Verkehr.MG1', " "); setState('Verkehr.MG1', json);
-
Super!!! Vielen, vielen Dank für die Hilfe!!!
-
Und noch kleiner wenn man auf das 'Ä' verzichtet müsste dann so sein
var pre='javascript.0.Verkehr.Richtung_MG.'; var ka=['Haltestelle', 'Linie', 'Startzeit', 'Verspaetung']; for( var i=0,json='[{'; i<4; i++, json+='};' ) { for( var j=0; j<4 ) json+='"'+ka[j]+'":"+getState( pre+ka[j] + i.toString() ).val + '",'; } json=json.substr( 0, json.length-1 ) + ']'; createState('Verkehr.MG1', " "); setState('Verkehr.MG1', json);
-
Ich versuche gerade hinter den Code zu steigen, um ihn zu verstehen. Da JSON noch Neuland für mich ist, verstehe ich natürlich noch nicht alles.
var pre='javascript.0.Verkehr.Richtung_MG.'; var ka=['Haltestelle', 'Linie', 'Startzeit', 'Verspaetung']; for( var i=0,json='['; i<4; i++ ) { json+='{"Ziehaltestelle":"' + getState(pre+ka[0]+i.toString() ).val + '","Linie":"' + getState(pre+ka[1]+i.toString() ).val + '","Uhrzeit":"' +getState(pre+ka[2]+i.toString() ).val + '","Verspätung":"' +getState(pre+ka[3]+i.toString() ).val + '"};'; } json=json.substr( 0, json.length-1 ) + ']';
Was ich noch nicht verstehe, was genau bedeutet
.toString()
und````
.val