NEWS
View / Skripte Verständnisfrage
-
Hallo und guten Morgen,
ich bin gerade dabei weiter an unserer Haussteuerung zu experimentieren. Dabei beschäftige ich mich gerade wieder mit VIS und Skripten. Wenn ich in einer View stehe, sehe ich ja auch die Skripte-Lasche, welche bei mir derzeit noch leer ist. Ich würde hier gerne ein View Widget (String) über eine JavaScript Funktion füllen.
$(document).ready(function(){ // Ich möchte das Widget mit der ID w00014 variabel über ein Skript füllen lassen. document.getElementByID("w00014").innerHTML = 'Test'; });
Leider macht er das nicht. Im Forum habe ich bis jetzt nichts passendes gefunden, evtl. bin ich auch auf dem Holzweg…
Vielen Dank und viele Grüße,
Matthias
-
Hallo,
hat keiner eine Idee dazu, oder ist die Frage nicht klar genug formuliert?
Grüße,
Matthias
-
Hi Matthias,
du kannst einem String-Widget doch auch recht entspannt eine Klasse im VIS zuweisen.
Anschließend die Befüllung über den Klassenselektor vornehmen.
$(document).ready(function() { $('.KLASSENNAME').html('hier kommt dein html rein'); ODER $('.KLASSENNAME').text('hier kommt dein text rein'); });
Woran scheiterst du?
-
Hallo,
danke für Deine Antwort. Genau das funktioniert bei mir so leider nicht.
Ich habe zunächst folgende, leere CSS Klasse im Bereich Projekt definiert:
.myclass { }
Dann habe ich in den Einstellungen des Text-Widget unter CSS-Klasse "myclass" eingetragen.
In den Scripts der View habe ich folgenden Code zum Initialisieren des Widgets gepackt:
$(document).ready(function() { $('.myclass').text('Test-Text aus dem Script); });
Leider passiert aber nix, das Widget bleibt leer.
-
Hallo,
ich habe gestern Abend nochmals recherchiert und verschiedene Dinge ausprobiert.
Dabei habe ich zunächst überprüft, ob der Event überhaupt ausgeführt wird.
$(document).ready(function() { alert("ready"); }
Die Alert Ausgabe bekomme ich beim Laden der View. Soweit so gut.
Dann habe mit verschiedenen Methoden (DOM, jQuery) versucht an das Widget Objekt zu kommen, hier komme ich aber nach wie vor nicht weiter.
Zunächst habe ich versucht über jQuery mit dem Selector über die Id an das Objekt zu kommen, ohne Erfolg.
> var myDivElement = $( "#w00001" );
Dann über die entsprechende CSS Klasse wie von abn0rm beschrieben, ohne Erfolg.
Zu guter letzt noch über getElementById(…), auch ohne Erfolg.
Nach nochmaliger Google und Forensuche bin auf folgenden Top gestoßen:
viewtopic.php?f=21&t=12306&p=130185&hil … ID#p130185
Folgender Satz würde das Verhalten erklären:
> Der Code wäre korrekt, wenn er denn auf dem Client, also im Browser ausgeführt werden würde. Wird er aber nicht. Er wird auf dem Server ausgeführt - und dort kann er nicht funktionieren, weil es keinen Browser, keine DOM Objekte gibt.
Von daher nochmals die Verständnisfrage ob ich überhaupt die Widgets über das Script z.B. raedy() event verändern kann.
Viele Grüße und vielen Dank für eure Hilfe,
Matthias
-
Hallo,
push…
Hat keiner mehr ne Idee
-
was willst du da reinfüllen.. gehts nur um den Text ?? oder was hast du vor??,
normalerweise kannst du ein Objekt anlegen und im Widget mit als Beispiel {javascript.0.mein.objekt} mit Werten füllen
da brauchst du die css nicht für
-
Hallo,
nee, ich wollte zum Test einen statischen Wert reinschreiben, und später das Ergebnis einer JavaScript Funktion (Datumsermittlung).
Daher habe ich damit experimentiert
Viele Grüße,
Matthias
-
@kortos:…das Ergebnis einer JavaScript Funktion (Datumsermittlung). `
Hallo,Kannst du „Datumsermittlung“ mal präzisieren? Wir geben uns hier alle Mühe, irgendwelche Skripte und Funktionen im JavaScript Adapter zu konstruieren und damit den Client schlank zu halten.
Was hast du vor?
Pix
-
Hallo,
klar, ich wollte z.B. Astrozeiten (also wann beginnt dusk, uws.) auf der View im Script berechnen und ausgeben (für mich zum Verständnis).
Mittlerweile ermittle ich das Ganze auch per Skript und schiebe die Werte dann in eine Variable und binde diese an die View. Mir war nur bis jetzt nicht klar, für was ich diese Scripts Lasche auf der View wirklich einsetzen könnte. Evtl. war das auch nur ein falscher Ansatz, für mich war nicht klar, was ich auf dieser Lasche sinnvoll ausführen/anstellen kann.
Das Argument mit dem schlanken Client ist natürlich absolut korrekt, aus dieser Sichtweise sollte ich hier keine Scripts ausführen.
Danke für Deine Info
Grüße,
Matthias