所以我做了2个按钮,看起来像这样:
<input id="buttonLED1_green" type="button" value="green LED" onClick="writeLED(1,0)">
<input id="buttonLED1_red" type="button" value="red LED" onClick="writeLED(1,1)">
onCLick 正在执行的函数:
function writeLED(id, color) {
try {
SetDataAnalog( id+400, color, 1,true);
document.write("hi");
} catch (e) {
}
}
这个发送一个 xmlHTTP 请求来更改我的另一台设备上的模拟数据点,该设备在地址上存储数字。
var xmlHttp = new Array(2); // Index 0 fĂĽrs Lesen, Index 1 fĂĽrs Schreiben
var ddcURL = "http://192.168.1.60/";
function SetDataAnalog(addr, wert, endeAdddr, isFullQualified) {
endeAdddr = parseInt(endeAdddr);
var cmd;
if (isFullQualified) {
cmd = ddcURL + "SetADP:" + addr + ":" + wert;
} else {
cmd = ddcURL + "SetADP:" + addr + ":" + wert;
}
try{
if (xmlHttp[1]){
xmlHttp[1].open('GET', cmd, true);
xmlHttp[1].send(null);
}
} catch (e) {
alert('error');
}
}
问题是,第一次单击任何按钮时,它们都起作用,并且在模拟地址 401 上设置了 0 或 1,但是当我第二次单击它时,所有功能也会执行,但是数据是因为任何原因没有写在 401 地址上。由于某种原因,当我关闭浏览器并重新打开页面时,它再次工作一次。