(27.01.2017, 17:14)admin Wrote: Use .val("new value") instead of .attr(...)
Thanks you admin! Now it works!
This is the code I used:
Code:
var visible = false;
setInterval(function() {
var state = $('#widget-7').is(':visible');
if (state != visible) {
visible = state;
if (state == false) {
var tmp = objectStore.objects[Scada.encodeGroupAddress('15/7/215')].value;
//console.log(tmp);
$(".Email > div > div > input").val(tmp);
}
}
}, 1000);
When the "widget-7" that contains the text input is closed the text inside the input box is reset!
(28.01.2017, 12:43)Erwin van der Zwart Wrote: Hi Mirco,
You can create a HTML file like this and put it in a iframe with this URL "/user/input.html", run this LUA code once to create the file:
Code:-- use this path in your iframe: /user/input.html
dst = '/www/user/input.html'
io.writefile(dst, [[
<!DOCTYPE html">
<head>
<script type="text/javascript" src="/scada/vis/jquery.js.gz"></script>
<style type="text/css">
body {
background-color: transparent;
}
.stringinput{
width: 240px;
}
.savebtn{
width: 120px;
}
</style>
</head>
<body>
<table width="100" border="0">
<tr>
<input id="value1" class="stringinput" type="text" maxlength="255" />
</tr>
<tr>
<input id="btnsave1" class="savebtn" type="button"value="Save" />
</tr>
</table>
<table width="100" border="0">
<tr>
<input id="value2" class="stringinput" type="text" maxlength="255" />
</tr>
<tr>
<input id="btnsave2" class="savebtn" type="button"value="Save" />
</tr>
</table>
<script>
var p = window.parent;
var obj1dpt;
var obj2dpt;
if (p && p.objectStore){
addr1 = p.Scada.encodeGroupAddress('1/2/34');
p.objectStore.addListener(addr1, function(obj, type) {
$("#value1").val(obj.value);
obj1dpt = obj.rawdatatype;
});
addr2 = p.Scada.encodeGroupAddress('1/2/35');
p.objectStore.addListener(addr2, function(obj, type) {
$("#value2").val(obj.value);
obj2dpt = obj.rawdatatype;
});
$("#btnsave1").on("vclick",function(){
var value1 = $('#value1').val();
p.setObjectValue({ address: ('1/2/34') , rawdatatype: obj1dpt }, value1, 'text');
});
$("#btnsave2").on("vclick",function(){
var value2 = $('#value2').val();
p.setObjectValue({ address: ('1/2/35') , rawdatatype: obj2dpt }, value2, 'text');
});
};
</script>
</body>
</html>
]])
script.disable(_SCRIPTNAME)
BR,
Erwin
Thank you Erwin! It works really well!
Now that I understand how to use iframe, we can do almost what we want!