I have a HTML-file and a PHP-file. The index.php displays a value which gets transferred to the servo.php. The servo.php writes the value in a file called /dev/servoblaster.
Currently the value only gets displayed if i click the button with my function. I would like that the value is displayed and sent continuously and not by the press of a button.
The two files can you find here: servo.php index.html
The function: (You will find it also in the HTML-file)
function tilt() { var tilt = document.getElementById("tiltRange").value;
document.getElementById("tilt_Range").innerHTML = tilt;
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "servo.php?dir=P1-11=" + tilt, true);
xhttp.send();
}
The body tag of the HTML-file:
<button onclick="tilt()">Tilt</button>
<input type="range" id="tiltRange" value="140" max="170" min="60">
<text id="tilt_Range"></text>
Advertisement
Answer
You could use setInterval to call your script every n seconds:
setInterval(tilt, 5000);
Will call tilt() every 5 seconds…
EDIT:
Added clearInterval example:
var doIt = setInterval(tilt, 5000);
You can then clear / stop it like so:
clearInterval(doIt)
So you should assign a click handler to your “stop” button, that calls the clearInterval.