onclickで関数を実行したいのですが、どうやっても
「Uncaught ReferenceError: illuminance is not defined at displayDate (watch.js:171) at HTMLInputElement.onclick (watch.html:106)」のエラーが消えません。
HTML
1<input type="button" value="保存" onclick="update(illuminance)">
JavaScript
1function update(illuminance) { 2 document.getElementById("value").innerHTML = illuminance + " lux"; 3} 4 5if ("AmbientLightSensor" in window) { 6 try { 7 var sensor = new AmbientLightSensor(); 8 sensor.addEventListener("reading", function (event) { 9 update(sensor.illuminance); 10 }); 11 sensor.start(); 12 } catch (e) { 13 console.error(e); 14 } 15} 16if ("ondevicelight" in window) { 17 function onUpdateDeviceLight(event) { 18 update(event.value); 19 } 20 window.addEventListener("devicelight", onUpdateDeviceLight); 21} 22 23function displayDate() { 24 var txt = document.getElementById("txt"); 25 txt.innerHTML = "lux:" + illuminance; 26 setInterval('displayDate()', 10000); 27}; 28
自分なりに調べてみて引数にthisを指定したりしたのですが、解決しませんでした。
onclickで指定していないと普通に動くので、なぜこのエラーが出てしまうのか分かりません。
よろしくお願いいたします。
追記
onclickで環境光センサーの値を出力したいと考えています。
(onclick指定をしないと、ちゃんと動く様になっています。)