Home > front end >  Ajax - change text color based on return value
Ajax - change text color based on return value

Time:10-27

I am trying to display a sensor value using html/ajax. This works as expected so far, however I want the text color to change according to the value. for example

if value < 50 then fontcolor= blue 
if value >49 then fontcolor = red

is that at all possible?

<p style="color:blue; position: absolute; top: 810px; width: 100px; padding-left: 340px;" id="ofen_VL">0</p>
<script>
setInterval(function() {
  // Call a function repetatively with 10 Second interval
getData();
}, 10000); //10sec

function getData() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("ofen_VL").innerHTML =
  this.responseText;
}
 };
xhttp.open("GET", "ofen_VL.txt", true);
xhttp.send();
}

</script>

CodePudding user response:

Add to the response your condition. Something like:

if (this.readyState == 4 && this.status == 200) {
  document.getElementById("ofen_VL").innerHTML = this.responseText;
  if (Number(this.responseText) > 50) {
    document.getElementById("ofen_VL").setAttribute('style', 'color: blue;');
  }
  else {
    document.getElementById("ofen_VL").setAttribute('style', 'color: red;');
  }
}
  • Related