TIA Toggle Button in Siemens Webserver

Floon82

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich bin auf der Suche nach einem Code für einen Toggle Button für ein AWP Programm

Anforderung
Ein Button für Ein/Aus, bei Klick auf den Button soll der Status geändert werden (true-->false bzw. false-->true)
Beim Aufruf der Seite soll er den Ist-Zustand abfragen und im Button darstellen (Live Aktualisierung/Abfrage bei geöffneter Seite nicht benötigt)


Hätte auch ein vielversprechendes Demo gefunden (Link). Aber der Code will bei mir nicht laufen (Benutzer hat natürlich die Rechte Variablen zu ändern)

Hat jemand ein Beispiel wo es funktioniert? Oder hat jemand eine Idee was nicht passt?



Hier die in meinen Augen Hauptbestandteile von der Quelle:
<!-- AWP_In_Variable Name='"Haus_Licht_Technik"' -->
<div class="content">
<div class="content-div">
<ul>
<li>Haus_Licht_Technik<div class="switch"><span class="thumb"> </span><input type="checkbox" id="Haus_Licht_Technik"/></div></li>
</ul>
</div>
</div>
<script>
(function() {
var $$ = function(selector) {
return Array.prototype.slice.call(document.querySelectorAll(selector));
}
document.addEventListener("DOMContentLoaded", function() {
var checkbox;
$$(".switch").forEach(function(switchControl) {
if (switchControl.className === ("switch on")) {
switchControl.lastElementChild.checked = true;
}
switchControl.addEventListener("click", function toggleSwitch() {
if (switchControl.className === "switch on") {
switchControl.className = 'switch off';
} else {
switchControl.className = ("switch on");
}
checkbox = switchControl.lastElementChild;

checkbox.checked = !checkbox.checked;
var url = "/" + window.location.pathname.substr(1);
var ival = +checkbox.checked;
var sdata = '"' + checkbox.id + '"';
sdata=escape(sdata)+'='+ival;
//alert(sdata);

$.post(url,sdata,function(result){});

}, false);
});
}, false);
})()
</script>

Gruß Floon
 
Hier habe ich zwei klassische Varianten auch für ältere Firmware Versionen, einmal mit Javascript und einmal mit AWP Enumeration (mit um die Ecke denken) gepostet:


Mit den neuen Firmwareversionen sind sicher noch weitere Varianten möglich.
 
Zurück
Oben