だから私はこのように見える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 アドレスに記載されていません。なんらかの理由で、ブラウザを閉じてページを再度開くと、もう一度機能します。