所以这是我第一次尝试 JavaScript(学习 Java atm),我几乎完成了。我想要做的是:在页面刷新时从我的 textarea 中删除只读,并在几分钟后使用计时器将其设置为只读。
所有计时器、getElement-parts 和 readOnly-attributes 似乎都在工作(最终)。
JavaScript:
<script>
//x = Timelimit in minutes, z = Time remaining alert in minutes
function timeLimit(x,z) {
var min = 60 * 1000;
var limit = x * min;
setTimeout(function(){ alert("Du har " + z + " minutter igjen på prøven.") },( limit - (z * min) ));
setTimeout(function(){ alert(x + " minutter har gått.\nTiden er slutt.") },limit);
setTimeout(document.getElementById('testroom').setAttribute('readOnly','readOnly'),limit);
}
</script>
这是对我的函数的调用(将其放在我的 textarea 下方,因为它似乎是 getElement 通过 id 找到我的 textarea 的唯一方法):
<form method="post" action="insert.php" />
<textarea name="content" id="testroom"></textarea><br>
<input type="submit" value="Send inn for retting" />
</form>
<script>
timeLimit(0.2,0.1);
document.getElementById('testroom').removeAttribute("readOnly",0);
</script>
如果我将 removeAttribute 移到 timeLimit() 上方(或将其放在函数中),我的 textarea 将保持 readonly=true。如果我把它放在下面,即使在 12 秒(0.2 分钟,计时器应该发生的地方)之后,它也会保持 readonly=false。
希望有人可以为我解决这个问题,一直在寻找很多不同的语法。