禁用按钮30秒

时间:2014-02-04 13:14:34

标签: javascript html class

我有一个按钮(我无法更改任何HMTL)点击以保存问题的答案。

我想禁用此按钮30秒,这样他们就无法回答问题,除非过了30秒。我不太了解javascript,但有人告诉我这可以用来做这个。

以下是我无法以任何方式更改的HTML代码:

<input type="submit" class="btnLarge" value="Submit" name="submit">

我想也许我可以使用getElementByClassName,但我不确定如何调用它。有人可以帮忙吗?

7 个答案:

答案 0 :(得分:4)

从您的按钮开始已禁用,通知已添加已禁用属性

HTML

<input type="submit" class="btnLarge" value="Submit" name="submit" disabled>

的JavaScript

如果您无法更改HTML

 document.getElementsByName("submit")[0].disabled = true;   

30秒后启用

此处使用setTimeout,在30秒后启用它。在setTimeout的anonymus函数中。

要识别可以使用document.getElementsByName的元素,它会返回(X)HTML文档中具有给定名称的元素列表。因此,使用

来访问第一个元素[0]

修改DOM property也称为禁用,是一个带有true或false的布尔值。

setTimeout(function(){  
    var element = document.getElementsByName("submit")[0] ;
    element.disabled = false;
}, 30000);

完整代码

window.onload = function(){
    document.getElementsByName("submit")[0].disabled = true;
    setTimeout(function(){  
        var element = document.getElementsByName("submit")[0] ;
        element.disabled = false;
    }, 30000);
}

答案 1 :(得分:1)

试试这个

  <script type="text/javascript">
        setTimeout (function(){
        document.getElementById('submitButton').disabled = null;
        },30000);

        var countdownNum = 30;
        incTimer();

        function incTimer(){
        setTimeout (function(){
            if(countdownNum != 0){
            countdownNum--;
            document.getElementById('timeLeft').innerHTML = 'Time left: ' + countdownNum + ' seconds';
            incTimer();
            } else {
            document.getElementById('timeLeft').innerHTML = 'Ready!';
            }
        },1000);
        }
    </script>

 <form>
        <input type="submit" disabled="disabled" id="submitButton" />
        <p id="timeLeft">Time Left: 30 seconds</p>
    </form>

答案 2 :(得分:0)

您可以尝试这样的事情:

var element = document.getElementById('submitBtn');
element.disabled = true;
setTimeout(function(){
    element.disabled = false;
}, 30000);

答案 3 :(得分:0)

试试这个 在javascript中

var i=0;
document.getElementsByName('submit')[0].setAttribute("disabled","disabled");
    window.onload = function() {
        window.setTimeout(setdis, 30000);
    }
    function setdis() {
        if(i==0)
        {
           document.getElementsByName('submit')[0].disabled = false;
           i++;
        }
    }
祝你好运

答案 4 :(得分:0)

我会创建一个可重用的函数,它需要指定的时间和className作为输入。

function disableElementForSpecifiedTime(className, disabledTime_milliseconds)
{
    var element = document.getElementsByClassName(className)[0];
    element.disabled = true;

    setTimeout(function(){  
        element.disabled = false;
    }, disabledTime_milliseconds);
}

像这样称呼

disableElementForSpecifiedTime("btnLarge", 3000)

在可用性的名义中,我建议在启用按钮时突出显示该按钮,也许可以使用jquery动画将其缩小片刻。

答案 5 :(得分:0)

将属性 disabledid="submit-form" 添加到您的按钮。

window.setTimeout(setEnabled, 30000);

function setEnabled() {
  var submitButton = document.getElementById('submit-form');
  if (submitButton) {
    submitButton.disabled = false;
  }
}
<input type="submit" class="btnLarge" value="Submit" name="submit" id="submit-form" disabled>

答案 6 :(得分:-1)

由于无法更改html,因此可以使用javascript函数。给你的按钮一个id。 在页面加载时禁用它。

<input type="submit" class="btnLarge" value="Submit" name="submit" disabled="disabled" id="saveAns">

然后你可以使用计时器功能在30秒后启用它

<script type="text/javascript">
window.onload=function() { setTimeout(function()
{
    document.getElementById('saveAns').disabled = false;},30000);
}