NEWS
Anfänger braucht Hilfe bei einem Script
-
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