javascript - 如何将输入标签设置为启用?

标签 javascript disabled-input attribution

var startat = 5;
function disableRegBtn(bdisable){
    document.getElementById('regBtn').disabled=bdisable;
}
 
function showTime(){
    if(startat == 0){
        clearInterval(timeId);
        document.getElementById("p1").innerHTML = "please register now";
        disableRegBtn("enabled");
        return;
        }
    document.getElementById("p1").innerHTML = "please register in  " + startat + "  second(s)";
    startat--;      
}
window.onload=function(){
    document.getElementById('taid').readOnly=true;
    disableRegBtn(true);
    timeId=setInterval("showTime()",1000);
}
 
<textarea id="taid" cols="30" rows="5">Registration Agreement:
1.xxxxxx
2.xxxxxx
3.xxxxxx
</textarea> <p id="p1"><input id="regBtn" type="button" value="register" /></p>
 

我想让人们在提交注册前至少 5 秒阅读注册协议(protocol),当 5 秒结束时,please register now可以在网页上显示,如何制作<input id="regBtn" type="button" value="register" />工作?

我为 disableRegBtn() 做了一些尝试在 showTime功能。

disableRegBtn(false)
disableRegBtn("false")
disableRegBtn("disabled")
disableRegBtn("enabled")  

它们都不能生效。

最佳答案

您不需要再次创建按钮,因为它已经在 DOM 中。

您可以使用变量来保存元素,以便您可以在需要时使用它们。这将确保您的代码更加简洁和健壮。

您可以在计数器为 0 时传递 flase,而不是传递 enabled。我还建议您在处理纯文本内容时使用 textContent 而不是 innerHTML,因为它更快且可预测。

var startat = 5;
var buttonEl = document.getElementById('regBtn');
var pEl = document.getElementById("p1");
function disableRegBtn(bdisable){
  buttonEl.disabled = bdisable;
  pEl.textContent = '';
  pEl.prepend(buttonEl);
}
 
function showTime(){
  if(startat == 0){
    clearInterval(timeId);
    pEl.textContent = "please register now";
    disableRegBtn(false);
    return;
  }
  
  pEl.textContent = "please register in  " + startat + "  second(s)";
  startat--;      
}
window.onload=function(){
  document.getElementById('taid').readOnly=true;
  disableRegBtn(true);
  timeId=setInterval("showTime()",1000);
}
<textarea id="taid" cols="30" rows="5">Registration Agreement:
1.xxxxxx
2.xxxxxx
3.xxxxxx
</textarea> <p id="p1"><input id="regBtn" type="button" value="register" /></p>

关于javascript - 如何将输入标签设置为启用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53138090/

相关文章:

html - Orbeon Forms 中的只读字段行为

javascript - 如何使用 jQuery 删除 "disabled"属性?

javascript - 如何实时捕获击键并将其添加到 div 元素?

javascript - 循环 Ajax 调用

javascript - 在 Blockly 上返回 block

javascript - 如何从 AngularJS 输入中禁用我的复选框?

r - R 包的作者与贡献者 - 小代码贡献的角色是什么?

python - 返回每个 id 的持续时间

android - Google Play Install Referrer API 与 INSTALL_REFERRER 广播

javascript - 以一对多关系将对象组合在一起