1

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

4

0 に答える 0