我有一个按钮(我无法更改任何HMTL)点击以保存问题的答案。
我想禁用此按钮30秒,这样他们就无法回答问题,除非过了30秒。我不太了解javascript,但有人告诉我这可以用来做这个。
以下是我无法以任何方式更改的HTML代码:
<input type="submit" class="btnLarge" value="Submit" name="submit">
我想也许我可以使用getElementByClassName,但我不确定如何调用它。有人可以帮忙吗?
答案 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)
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)
将属性 disabled
和 id="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);
}